[testsuite] Add scan-wpa-ipa-dump

2018-05-02  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85106
	* gcc.dg/ipa/ipa-icf-38.c: New test.
	* gcc.dg/ipa/ipa-icf-38a.c: New test.
	* lib/scandump.exp (dump-base): New proc.
	(scan-dump, scan-dump-times, scan-dump-not, scan-dump-dem)
	(scan-dump-dem-not): Add and handle parameter for suffix of the dump
	base.
	* lib/scanipa.exp: Add "" argument to scan-dump calls.
	* lib/scanlang.exp: Same.
	* lib/scanrtl.exp: Same.
	* lib/scantree.exp: Same.
	* lib/scanwpaipa.exp: New file.
	* lib/gcc-dg.exp: Include scanwpaipa.exp.

	* testsuite/lib/libatomic.exp: Include scanwpaipa.exp.

	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.

	* testsuite/lib/libitm.exp: Include scanwpaipa.exp.

	* testsuite/lib/libvtv.exp: Include scanwpaipa.exp.

	* doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization
	dump files): Add wpa-ipa.

From-SVN: r259837
This commit is contained in:
Tom de Vries 2018-05-02 12:16:15 +00:00 committed by Tom de Vries
parent 559289370f
commit 6c3c13c181
20 changed files with 332 additions and 53 deletions

View File

@ -1,3 +1,9 @@
2018-05-02 Tom de Vries <tom@codesourcery.com>
PR testsuite/85106
* doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization
dump files): Add wpa-ipa.
2018-05-02 Segher Boessenkool <segher@kernel.crashing.org>
* config.gcc (powerpc*-*-*): Remove paired.h. Unsupport the

View File

@ -2589,7 +2589,7 @@ assembly output.
@subsubsection Scan optimization dump files
These commands are available for @var{kind} of @code{tree}, @code{rtl},
and @code{ipa}.
@code{ipa}, and @code{wpa-ipa}.
@table @code
@item scan-@var{kind}-dump @var{regex} @var{suffix} [@{ target/xfail @var{selector} @}]

View File

@ -1,3 +1,19 @@
2018-05-02 Tom de Vries <tom@codesourcery.com>
PR testsuite/85106
* gcc.dg/ipa/ipa-icf-38.c: New test.
* gcc.dg/ipa/ipa-icf-38a.c: New test.
* lib/scandump.exp (dump-base): New proc.
(scan-dump, scan-dump-times, scan-dump-not, scan-dump-dem)
(scan-dump-dem-not): Add and handle parameter for suffix of the dump
base.
* lib/scanipa.exp: Add "" argument to scan-dump calls.
* lib/scanlang.exp: Same.
* lib/scanrtl.exp: Same.
* lib/scantree.exp: Same.
* lib/scanwpaipa.exp: New file.
* lib/gcc-dg.exp: Include scanwpaipa.exp.
2018-05-02 Richard Biener <rguenther@suse.de>
PR middle-end/85567

View File

@ -0,0 +1,31 @@
/* { dg-do link } */
/* { dg-options "-O2 -fdump-ipa-icf -flto" } */
/* { dg-require-effective-target lto } */
/* { dg-additional-sources "ipa-icf-38a.c" }*/
/* Based on ipa-icf-3.c. */
typedef int v4si __attribute__ ((vector_size (16)));
__attribute__ ((noinline))
int foo(void)
{
v4si a = {1,2,3,4};
v4si b = {3,2,1,4};
v4si c;
return 54;
}
extern int bar(void);
int main()
{
int volatile a = foo();
int volatile b = bar();
return 0;
}
/* { dg-final { scan-wpa-ipa-dump "Semantic equality hit:foo->bar" "icf" } } */
/* { dg-final { scan-wpa-ipa-dump "Equal symbols: 1" "icf" } } */

View File

@ -0,0 +1,14 @@
/* { dg-skip-if "" { *-*-* } } */
typedef int v4si __attribute__ ((vector_size (16)));
__attribute__ ((noinline))
int bar(void)
{
v4si a = {1,2,3,4};
v4si b = {3,2,1,4};
v4si c;
return 54;
}

View File

@ -22,6 +22,7 @@ load_lib scanasm.exp
load_lib scanrtl.exp
load_lib scantree.exp
load_lib scanipa.exp
load_lib scanwpaipa.exp
load_lib scanlang.exp
load_lib timeout.exp
load_lib timeout-dg.exp

View File

@ -26,17 +26,31 @@ proc dump-suffix { arg } {
return [string range $arg $idx end]
}
# Construct the dumpbase.
# Argument 0 is the src file
# Argument 1 is the dump base suffix
proc dump-base { args } {
set src [lindex $args 0]
set dumpbase_suf [lindex $args 1]
set dumpbase $src
if { [string length $dumpbase_suf] != 0 } {
regsub {[.][^.]*$} $src $dumpbase_suf dumpbase
}
return $dumpbase
}
# Utility for scanning compiler result, invoked via dg-final.
# Call pass if pattern is present, otherwise fail.
#
# Argument 0 is the type of dump we are searching (rtl, tree, ipa)
# Argument 1 is the regexp to match.
# Argument 2 is the suffix for the dump file
# Argument 3 handles expected failures and the like
# Argument 3 is the suffix of the dump base
# Argument 4 handles expected failures and the like
proc scan-dump { args } {
if { [llength $args] >= 4 } {
switch [dg-process-target [lindex $args 3]] {
if { [llength $args] >= 5 } {
switch [dg-process-target [lindex $args 4]] {
"S" { }
"N" { return }
"F" { setup_xfail "*-*-*" }
@ -52,7 +66,8 @@ proc scan-dump { args } {
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump $suf \"$printable_pattern\""
set src [file tail $filename]
set output_file "[glob -nocomplain $src.[lindex $args 2]]"
set dumpbase [dump-base $src [lindex $args 3]]
set output_file "[glob -nocomplain $dumpbase.[lindex $args 2]]"
if { $output_file == "" } {
verbose -log "$testcase: dump file does not exist"
unresolved "$testname"
@ -75,11 +90,12 @@ proc scan-dump { args } {
# Argument 1 is the regexp to match.
# Argument 2 is number of times the regexp must be found
# Argument 3 is the suffix for the dump file
# Argument 4 handles expected failures and the like
# Argument 4 is the suffix of the dump base
# Argument 5 handles expected failures and the like
proc scan-dump-times { args } {
if { [llength $args] >= 5 } {
switch [dg-process-target [lindex $args 4]] {
if { [llength $args] >= 6 } {
switch [dg-process-target [lindex $args 5]] {
"S" { }
"N" { return }
"F" { setup_xfail "*-*-*" }
@ -95,7 +111,8 @@ proc scan-dump-times { args } {
set printable_pattern [make_pattern_printable [lindex $args 1]]
set testname "$testcase scan-[lindex $args 0]-dump-times $suf \"$printable_pattern\" [lindex $args 2]"
set src [file tail $filename]
set output_file "[glob -nocomplain $src.[lindex $args 3]]"
set dumpbase [dump-base $src [lindex $args 4]]
set output_file "[glob -nocomplain $dumpbase.[lindex $args 3]]"
if { $output_file == "" } {
verbose -log "$testcase: dump file does not exist"
unresolved "$testname"
@ -120,11 +137,12 @@ proc scan-dump-times { args } {
# Argument 0 is the type of dump we are searching (rtl, tree, ipa)
# Argument 1 is the regexp to match.
# Argument 2 is the suffix for the dump file
# Argument 3 handles expected failures and the like
# Argument 3 is the suffix of the dump base
# Argument 4 handles expected failures and the like
proc scan-dump-not { args } {
if { [llength $args] >= 4 } {
switch [dg-process-target [lindex $args 3]] {
if { [llength $args] >= 5 } {
switch [dg-process-target [lindex $args 4]] {
"S" { }
"N" { return }
"F" { setup_xfail "*-*-*" }
@ -139,7 +157,8 @@ proc scan-dump-not { args } {
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump-not $suf \"$printable_pattern\""
set src [file tail $filename]
set output_file "[glob -nocomplain $src.[lindex $args 2]]"
set dumpbase [dump-base $src [lindex $args 3]]
set output_file "[glob -nocomplain $dumpbase.[lindex $args 2]]"
if { $output_file == "" } {
verbose -log "$testcase: dump file does not exist"
unresolved "$testname"
@ -163,13 +182,14 @@ proc scan-dump-not { args } {
# Argument 0 is the type of dump we are searching (rtl, tree, ipa)
# Argument 1 is the regexp to match.
# Argument 2 is the suffix for the dump file
# Argument 3 handles expected failures and the like
# Argument 3 is the suffix of the dump base
# Argument 4 handles expected failures and the like
proc scan-dump-dem { args } {
global cxxfilt
global base_dir
if { [llength $args] >= 4 } {
switch [dg-process-target [lindex $args 3]] {
if { [llength $args] >= 5 } {
switch [dg-process-target [lindex $args 4]] {
"S" { }
"N" { return }
"F" { setup_xfail "*-*-*" }
@ -194,7 +214,8 @@ proc scan-dump-dem { args } {
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump-dem $suf \"$printable_pattern\""
set src [file tail $filename]
set output_file "[glob -nocomplain $src.[lindex $args 2]]"
set dumpbase [dump-base $src [lindex $args 3]]
set output_file "[glob -nocomplain $dumpbase.[lindex $args 2]]"
if { $output_file == "" } {
verbose -log "$testcase: dump file does not exist"
unresolved "$testname"
@ -217,13 +238,14 @@ proc scan-dump-dem { args } {
# Argument 0 is the type of dump we are searching (rtl, tree, ipa)
# Argument 1 is the regexp to match.
# Argument 2 is the suffix for the dump file
# Argument 3 handles expected failures and the like
# Argument 3 is the suffix of the dump base
# Argument 4 handles expected failures and the like
proc scan-dump-dem-not { args } {
global cxxfilt
global base_dir
if { [llength $args] >= 4 } {
switch [dg-process-target [lindex $args 3]] {
if { [llength $args] >= 5 } {
switch [dg-process-target [lindex $args 4]] {
"S" { }
"N" { return }
"F" { setup_xfail "*-*-*" }
@ -248,7 +270,8 @@ proc scan-dump-dem-not { args } {
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump-dem-not $suf \"$printable_pattern\""
set src [file tail $filename]
set output_file "[glob -nocomplain $src.[lindex $args 2]]"
set dumpbase [dump-base $src [lindex $args 3]]
set output_file "[glob -nocomplain $dumpbase.[lindex $args 2]]"
if { $output_file == "" } {
verbose -log "$testcase: dump file does not exist"
unresolved "$testname"

View File

@ -36,9 +36,11 @@ proc scan-ipa-dump { args } {
return
}
if { [llength $args] >= 3 } {
scan-dump "ipa" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" [lindex $args 2]
scan-dump "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" "" [lindex $args 2]
} else {
scan-dump "ipa" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]"
scan-dump "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ""
}
}
@ -59,10 +61,11 @@ proc scan-ipa-dump-times { args } {
}
if { [llength $args] >= 4 } {
scan-dump-times "ipa" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 2]" [lindex $args 3]
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 2]" "" \
[lindex $args 3]
} else {
scan-dump-times "ipa" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 2]"
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 2]" ""
}
}
@ -83,10 +86,11 @@ proc scan-ipa-dump-not { args } {
}
if { [llength $args] >= 3 } {
scan-dump-not "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" [lindex $args 2]
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-not "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ""
}
}
@ -108,10 +112,11 @@ proc scan-ipa-dump-dem { args } {
}
if { [llength $args] >= 3 } {
scan-dump-dem "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" [lindex $args 2]
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-dem "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ""
}
}
@ -132,10 +137,10 @@ proc scan-ipa-dump-dem-not { args } {
}
if { [llength $args] >= 3 } {
scan-dump-dem-not "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-dem-not "ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ""
}
}

View File

@ -36,8 +36,10 @@ proc scan-lang-dump { args } {
return
}
if { [llength $args] >= 3 } {
scan-dump "lang" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]l.[lindex $args 1]" [lindex $args 2]
scan-dump "lang" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]l.[lindex $args 1]" "" [lindex $args 2]
} else {
scan-dump "lang" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]l.[lindex $args 1]"
scan-dump "lang" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]l.[lindex $args 1]" ""
}
}

View File

@ -36,9 +36,11 @@ proc scan-rtl-dump { args } {
return
}
if { [llength $args] >= 3 } {
scan-dump "rtl" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" [lindex $args 2]
scan-dump "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" "" [lindex $args 2]
} else {
scan-dump "rtl" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]"
scan-dump "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" ""
}
}
@ -61,10 +63,11 @@ proc scan-rtl-dump-times { args } {
}
if { [llength $args] >= 4 } {
scan-dump-times "rtl" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 2]" [lindex $args 3]
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 2]" "" \
[lindex $args 3]
} else {
scan-dump-times "rtl" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 2]"
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 2]" ""
}
}
@ -87,10 +90,11 @@ proc scan-rtl-dump-not { args } {
}
if { [llength $args] >= 3 } {
scan-dump-not "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" [lindex $args 2]
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-not "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" ""
}
}
@ -114,10 +118,11 @@ proc scan-rtl-dump-dem { args } {
}
if { [llength $args] >= 3 } {
scan-dump-dem "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" [lindex $args 2]
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-dem "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" ""
}
}
@ -141,10 +146,10 @@ proc scan-rtl-dump-dem-not { args } {
if { [llength $args] >= 3 } {
scan-dump-dem-not "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" \
[lindex $args 2]
"" [lindex $args 2]
} else {
scan-dump-dem-not "rtl" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]" ""
}
}

View File

@ -36,9 +36,11 @@ proc scan-tree-dump { args } {
return
}
if { [llength $args] >= 3 } {
scan-dump "tree" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" [lindex $args 2]
scan-dump "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" "" [lindex $args 2]
} else {
scan-dump "tree" [lindex $args 0] "\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]"
scan-dump "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" ""
}
}
@ -59,10 +61,11 @@ proc scan-tree-dump-times { args } {
}
if { [llength $args] >= 4 } {
scan-dump-times "tree" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 2]" [lindex $args 3]
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 2]" "" \
[lindex $args 3]
} else {
scan-dump-times "tree" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 2]"
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 2]" ""
}
}
@ -83,10 +86,11 @@ proc scan-tree-dump-not { args } {
}
if { [llength $args] >= 3 } {
scan-dump-not "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" [lindex $args 2]
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-not "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" ""
}
}
@ -108,10 +112,11 @@ proc scan-tree-dump-dem { args } {
}
if { [llength $args] >= 3 } {
scan-dump-dem "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" [lindex $args 2]
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" "" \
[lindex $args 2]
} else {
scan-dump-dem "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" ""
}
}
@ -133,9 +138,9 @@ proc scan-tree-dump-dem-not { args } {
if { [llength $args] >= 3 } {
scan-dump-dem-not "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" \
[lindex $args 2]
"" [lindex $args 2]
} else {
scan-dump-dem-not "tree" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]"
"\[0-9\]\[0-9\]\[0-9\]t.[lindex $args 1]" ""
}
}

View File

@ -0,0 +1,147 @@
# Copyright (C) 2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# Various utilities for scanning ipa dump output, used by gcc-dg.exp and
# g++-dg.exp.
load_lib scandump.exp
# Utility for scanning compiler result, invoked via dg-final.
# Call pass if pattern is present, otherwise fail.
#
# Argument 0 is the regexp to match
# Argument 1 is the name of the dumped ipa pass
# Argument 2 handles expected failures and the like
proc scan-wpa-ipa-dump { args } {
if { [llength $args] < 2 } {
error "scan-wpa-ipa-dump: too few arguments"
return
}
if { [llength $args] > 3 } {
error "scan-wpa-ipa-dump: too many arguments"
return
}
if { [llength $args] >= 3 } {
scan-dump "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa" \
[lindex $args 2]
} else {
scan-dump "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa"
}
}
# Call pass if pattern is present given number of times, otherwise fail.
# Argument 0 is the regexp to match
# Argument 1 is number of times the regexp must be found
# Argument 2 is the name of the dumped ipa pass
# Argument 3 handles expected failures and the like
proc scan-wpa-ipa-dump-times { args } {
if { [llength $args] < 3 } {
error "scan-wpa-ipa-dump-times: too few arguments"
return
}
if { [llength $args] > 4 } {
error "scan-wpa-ipa-dump-times: too many arguments"
return
}
if { [llength $args] >= 4 } {
scan-dump-times "wpa-ipa" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 2]" ".exe.wpa" \
[lindex $args 3]
} else {
scan-dump-times "wpa-ipa" [lindex $args 0] [lindex $args 1] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 2]" ".exe.wpa"
}
}
# Call pass if pattern is not present, otherwise fail.
#
# Argument 0 is the regexp to match
# Argument 1 is the name of the dumped ipa pass
# Argument 2 handles expected failures and the like
proc scan-wpa-ipa-dump-not { args } {
if { [llength $args] < 2 } {
error "scan-wpa-ipa-dump-not: too few arguments"
return
}
if { [llength $args] > 3 } {
error "scan-wpa-ipa-dump-not: too many arguments"
return
}
if { [llength $args] >= 3 } {
scan-dump-not "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa" \
[lindex $args 2]
} else {
scan-dump-not "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa"
}
}
# Utility for scanning demangled compiler result, invoked via dg-final.
# Call pass if pattern is present, otherwise fail.
#
# Argument 0 is the regexp to match
# Argument 1 is the name of the dumped ipa pass
# Argument 2 handles expected failures and the like
proc scan-wpa-ipa-dump-dem { args } {
if { [llength $args] < 2 } {
error "scan-wpa-ipa-dump-dem: too few arguments"
return
}
if { [llength $args] > 3 } {
error "scan-wpa-ipa-dump-dem: too many arguments"
return
}
if { [llength $args] >= 3 } {
scan-dump-dem "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa" \
[lindex $args 2]
} else {
scan-dump-dem "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa"
}
}
# Call pass if demangled pattern is not present, otherwise fail.
#
# Argument 0 is the regexp to match
# Argument 1 is the name of the dumped ipa pass
# Argument 2 handles expected failures and the like
proc scan-wpa-ipa-dump-dem-not { args } {
if { [llength $args] < 2 } {
error "scan-wpa-ipa-dump-dem-not: too few arguments"
return
}
if { [llength $args] > 3 } {
error "scan-wpa-ipa-dump-dem-not: too many arguments"
return
}
if { [llength $args] >= 3 } {
scan-dump-dem-not "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa" \
[lindex $args 2]
} else {
scan-dump-dem-not "wpa-ipa" [lindex $args 0] \
"\[0-9\]\[0-9\]\[0-9\]i.[lindex $args 1]" ".exe.wpa"
}
}

View File

@ -1,3 +1,8 @@
2018-05-02 Tom de Vries <tom@codesourcery.com>
PR testsuite/85106
* testsuite/lib/libatomic.exp: Include scanwpaipa.exp.
2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.

View File

@ -38,6 +38,7 @@ load_gcc_lib scanlang.exp
load_gcc_lib scanrtl.exp
load_gcc_lib scantree.exp
load_gcc_lib scanipa.exp
load_gcc_lib scanwpaipa.exp
load_gcc_lib multiline.exp
load_gcc_lib prune.exp
load_gcc_lib target-libpath.exp

View File

@ -1,3 +1,8 @@
2018-05-02 Tom de Vries <tom@codesourcery.com>
PR testsuite/85106
* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2018-04-29 Julian Brown <julian@codesourcery.com>
Tom de Vries <tom@codesourcery.com>

View File

@ -30,6 +30,7 @@ load_gcc_lib scanlang.exp
load_gcc_lib scanrtl.exp
load_gcc_lib scantree.exp
load_gcc_lib scanipa.exp
load_gcc_lib scanwpaipa.exp
load_gcc_lib timeout-dg.exp
load_gcc_lib torture-options.exp
load_gcc_lib fortran-modules.exp

View File

@ -1,3 +1,8 @@
2018-05-02 Tom de Vries <tom@codesourcery.com>
PR testsuite/85106
* testsuite/lib/libitm.exp: Include scanwpaipa.exp.
2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
* config/x86/sjlj.S (_ITM_beginTransaction): Add

View File

@ -44,6 +44,7 @@ load_gcc_lib scanlang.exp
load_gcc_lib scanrtl.exp
load_gcc_lib scantree.exp
load_gcc_lib scanipa.exp
load_gcc_lib scanwpaipa.exp
load_gcc_lib timeout-dg.exp
load_gcc_lib torture-options.exp
load_gcc_lib fortran-modules.exp

View File

@ -1,3 +1,8 @@
2018-05-02 Tom de Vries <tom@codesourcery.com>
PR testsuite/85106
* testsuite/lib/libvtv.exp: Include scanwpaipa.exp.
2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.

View File

@ -43,6 +43,7 @@ load_gcc_lib scandump.exp
load_gcc_lib scanrtl.exp
load_gcc_lib scantree.exp
load_gcc_lib scanipa.exp
load_gcc_lib scanwpaipa.exp
load_gcc_lib timeout-dg.exp
load_gcc_lib torture-options.exp
load_gcc_lib fortran-modules.exp