diff options
78 files changed, 263 insertions, 161 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ba6d08f89c..2b9ef71c382 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2015-11-25 Tom de Vries <tom@codesourcery.com> + * omp-low.c (pass_expand_omp_ssa::clone): New function. + * passes.def: Add pass_oacc_kernels pass group. + * tree-ssa-loop-ch.c (pass_ch::clone): New function. + +2015-11-25 Tom de Vries <tom@codesourcery.com> + * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2): Declare. * tree-ssa-loop.c (gate_oacc_kernels): New static function. diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 2d782eb0c94..a923e37244a 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -13363,6 +13363,7 @@ public: return !(fun->curr_properties & PROP_gimple_eomp); } virtual unsigned int execute (function *) { return execute_expand_omp (); } + opt_pass * clone () { return new pass_expand_omp_ssa (m_ctxt); } }; // class pass_expand_omp_ssa diff --git a/gcc/passes.def b/gcc/passes.def index 17027786f7f..28cb4c1cf1f 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -88,7 +88,24 @@ along with GCC; see the file COPYING3. If not see /* pass_build_ealias is a dummy pass that ensures that we execute TODO_rebuild_alias at this point. */ NEXT_PASS (pass_build_ealias); + /* Pass group that runs when the function is an offloaded function + containing oacc kernels loops. Part 1. */ + NEXT_PASS (pass_oacc_kernels); + PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels) + NEXT_PASS (pass_ch); + POP_INSERT_PASSES () NEXT_PASS (pass_fre); + /* Pass group that runs when the function is an offloaded function + containing oacc kernels loops. Part 2. */ + NEXT_PASS (pass_oacc_kernels2); + PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels2) + /* We use pass_lim to rewrite in-memory iteration and reduction + variable accesses in loops into local variables accesses. */ + NEXT_PASS (pass_lim); + NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */); + NEXT_PASS (pass_dce); + NEXT_PASS (pass_expand_omp_ssa); + POP_INSERT_PASSES () NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_dse); NEXT_PASS (pass_cd_dce); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c55322a1fd0..7e24abb5a13 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,79 @@ +2015-11-25 Tom de Vries <tom@codesourcery.com> + + * g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1. + * gcc.dg/pr23911.c: Same. + * gcc.dg/tree-ssa/20030709-2.c: Same. + * gcc.dg/tree-ssa/20030731-2.c: Same. + * gcc.dg/tree-ssa/20040729-1.c: Same. + * gcc.dg/tree-ssa/cfgcleanup-1.c: Same. + * gcc.dg/tree-ssa/loop-36.c: Same. + * gcc.dg/tree-ssa/pr21086.c: Same. + * gcc.dg/tree-ssa/ssa-dce-1.c: Same. + * gcc.dg/tree-ssa/ssa-dce-2.c: Same. + * gcc.dg/vect/pr26359.c: Same. + * c-c++-common/restrict-2.c: Update after adding new lim1. + * c-c++-common/restrict-4.c: Same. + * g++.dg/tree-ssa/pr33615.C: Same. + * g++.dg/tree-ssa/restrict1.C: Same. + * gcc.dg/tm/pub-safety-1.c: Same. + * gcc.dg/tm/reg-promotion.c: Same. + * gcc.dg/tree-ssa/20050314-1.c: Same. + * gcc.dg/tree-ssa/loop-32.c: Same. + * gcc.dg/tree-ssa/loop-33.c: Same. + * gcc.dg/tree-ssa/loop-34.c: Same. + * gcc.dg/tree-ssa/loop-35.c: Same. + * gcc.dg/tree-ssa/loop-7.c: Same. + * gcc.dg/tree-ssa/pr23109.c: Same. + * gcc.dg/tree-ssa/restrict-3.c: Same. + * gcc.dg/tree-ssa/restrict-5.c: Same. + * gcc.dg/tree-ssa/ssa-lim-1.c: Same. + * gcc.dg/tree-ssa/ssa-lim-10.c: Same. + * gcc.dg/tree-ssa/ssa-lim-11.c: Same. + * gcc.dg/tree-ssa/ssa-lim-12.c: Same. + * gcc.dg/tree-ssa/ssa-lim-2.c: Same. + * gcc.dg/tree-ssa/ssa-lim-3.c: Same. + * gcc.dg/tree-ssa/ssa-lim-6.c: Same. + * gcc.dg/tree-ssa/ssa-lim-7.c: Same. + * gcc.dg/tree-ssa/ssa-lim-8.c: Same. + * gcc.dg/tree-ssa/ssa-lim-9.c: Same. + * gcc.dg/tree-ssa/structopt-1.c: Same. + * gfortran.dg/pr32921.f: Same. + * g++.dg/tree-ssa/pr19637.C: Update after adding new dom1. + * g++.dg/tree-ssa/pr61009.C: Same. + * g++.dg/tree-ssa/ssa-dom.C: Same. + * gcc.dg/pr20115-1.c: Same. + * gcc.dg/tree-prof/20050826-2.c: Same. + * gcc.dg/tree-prof/cmpsf-1.c: Same. + * gcc.dg/tree-ssa/20030821-1.c: Same. + * gcc.dg/tree-ssa/20030922-2.c: Same. + * gcc.dg/tree-ssa/20031022-1.c: Same. + * gcc.dg/tree-ssa/20040615-1.c: Same. + * gcc.dg/tree-ssa/20040624-1.c: Same. + * gcc.dg/tree-ssa/pr21417.c: Same. + * gcc.dg/tree-ssa/pr61607.c: Same. + * gcc.dg/tree-ssa/slsr-27.c: Same. + * gcc.dg/tree-ssa/slsr-28.c: Same. + * gcc.dg/tree-ssa/slsr-29.c: Same. + * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same. + * gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same. + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. + * gcc.dg/tree-ssa/ssa-thread-12.c: Same. + * gcc.dg/tree-ssa/vrp47.c: Same. + * gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1. + * gcc.dg/tree-ssa/foldconst-2.c: Same. + * gcc.dg/tree-ssa/loop-40.c: Same. + * gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1. + 2015-11-25 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/constexpr-array13.C: Fix. diff --git a/gcc/testsuite/c-c++-common/restrict-2.c b/gcc/testsuite/c-c++-common/restrict-2.c index 5e8bca79799..ad19fb3f2d5 100644 --- a/gcc/testsuite/c-c++-common/restrict-2.c +++ b/gcc/testsuite/c-c++-common/restrict-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim2-details" } */ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) { @@ -10,4 +10,4 @@ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) /* We should move the RHS of the store out of the loop. */ -/* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim2" } } */ diff --git a/gcc/testsuite/c-c++-common/restrict-4.c b/gcc/testsuite/c-c++-common/restrict-4.c index cea6cd80e3e..5806a2a9018 100644 --- a/gcc/testsuite/c-c++-common/restrict-4.c +++ b/gcc/testsuite/c-c++-common/restrict-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ struct Foo { @@ -15,4 +15,4 @@ void bar(struct Foo f, int * __restrict__ q) } } -/* { dg-final { scan-tree-dump "Executing store motion" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion" "lim2" } } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C b/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C index 5ff289c4a70..34a9f7b225b 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C +++ b/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-dce2" } */ +/* { dg-options "-O -fdump-tree-dce3" } */ /* Verify that we can eliminate the useless conversions to/from const qualified pointer types @@ -27,4 +27,4 @@ int foo(Object&o) /* Remaining should be two loads. */ -/* { dg-final { scan-tree-dump-times " = \[^\n\]*;" 2 "dce2" } } */ +/* { dg-final { scan-tree-dump-times " = \[^\n\]*;" 2 "dce3" } } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr19637.C b/gcc/testsuite/g++.dg/tree-ssa/pr19637.C index 9a7fc9b72bb..8172ea83f54 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr19637.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr19637.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-dom1" } */ +/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-dom2" } */ #include <new> @@ -29,4 +29,4 @@ int foo_void_offset(void) return reinterpret_cast<Foo *>(&i[0])->i[0]; } -/* { dg-final { scan-tree-dump-times "return 1;" 3 "dom1" } } */ +/* { dg-final { scan-tree-dump-times "return 1;" 3 "dom2" } } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr33615.C b/gcc/testsuite/g++.dg/tree-ssa/pr33615.C index f1b7a64fa22..13e20e0cd2c 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr33615.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr33615.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim1-details -w" } */ +/* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim2-details -w" } */ extern volatile int y; @@ -16,4 +16,4 @@ foo (double a, int x) // The expression 1.0 / 0.0 should not be treated as a loop invariant // if it may throw an exception. -// { dg-final { scan-tree-dump-times "invariant up to" 0 "lim1" } } +// { dg-final { scan-tree-dump-times "invariant up to" 0 "lim2" } } diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr61009.C b/gcc/testsuite/g++.dg/tree-ssa/pr61009.C index ddc9178be35..e07d29c0ad7 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr61009.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr61009.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fno-tree-vrp -std=c++11 -fno-strict-aliasing -fdump-tree-dom1" } */ +/* { dg-options "-O2 -fno-tree-vrp -std=c++11 -fno-strict-aliasing -fdump-tree-dom2" } */ #include <stdio.h> struct Field { @@ -49,4 +49,4 @@ bool Test(void) { // The block ending with cmp == 0 should not be threaded. ie, // there should be a single == 0 comparison in the dump file. -// { dg-final { scan-tree-dump-times "== 0" 1 "dom1" } } +// { dg-final { scan-tree-dump-times "== 0" 1 "dom2" } } diff --git a/gcc/testsuite/g++.dg/tree-ssa/restrict1.C b/gcc/testsuite/g++.dg/tree-ssa/restrict1.C index 5952fcae4b6..3228321e522 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/restrict1.C +++ b/gcc/testsuite/g++.dg/tree-ssa/restrict1.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ struct Foo { @@ -16,4 +16,4 @@ void bar(Foo f, int * __restrict__ q) } } -/* { dg-final { scan-tree-dump "Executing store motion" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion" "lim2" } } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C b/gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C index 4c9be46408e..30c8485ff15 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C +++ b/gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom1" } */ +/* { dg-options "-O2 -fdump-tree-dom2" } */ typedef long unsigned int size_t; extern void abort (void) __attribute__ ((__noreturn__)); @@ -99,5 +99,5 @@ gimple_return_set_retval (gimple gs, tree retval) abort (); gimple_set_op (gs, 0, retval); } -/* { dg-final { scan-tree-dump-times "gss_for_code_.10." 1 "dom1"} } */ +/* { dg-final { scan-tree-dump-times "gss_for_code_.10." 1 "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c b/gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c index a8f24b15dc1..033a4070302 100644 --- a/gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c +++ b/gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c @@ -11,4 +11,4 @@ foo (int *__restrict a, int *__restrict b, int *__restrict c) /* Check for new function notification in ompexpssa dump. */ -/* { dg-final { scan-tree-dump-times "Added new ssa gimple function foo\\.\[\\\$_\]loopfn\\.0 to callgraph" 1 "ompexpssa" } } */ +/* { dg-final { scan-tree-dump-times "Added new ssa gimple function foo\\.\[\\\$_\]loopfn\\.0 to callgraph" 1 "ompexpssa2" } } */ diff --git a/gcc/testsuite/gcc.dg/pr20115-1.c b/gcc/testsuite/gcc.dg/pr20115-1.c index d1c4066729f..1be99a5c965 100644 --- a/gcc/testsuite/gcc.dg/pr20115-1.c +++ b/gcc/testsuite/gcc.dg/pr20115-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom1" } */ +/* { dg-options "-O2 -fdump-tree-dom2" } */ extern int foo (void) __attribute__((pure)); @@ -11,4 +11,4 @@ int bar() } /* Check that we only have one call to foo. */ -/* { dg-final { scan-tree-dump-times "foo" 1 "dom1" } } */ +/* { dg-final { scan-tree-dump-times "foo" 1 "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/pr23911.c b/gcc/testsuite/gcc.dg/pr23911.c index 2c2739712c5..3fa041222de 100644 --- a/gcc/testsuite/gcc.dg/pr23911.c +++ b/gcc/testsuite/gcc.dg/pr23911.c @@ -1,7 +1,7 @@ /* This was a missed optimization in tree constant propagation that CSE would catch later on. */ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-dce2" } */ +/* { dg-options "-O -fdump-tree-dce3" } */ double _Complex *a; static const double _Complex b[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; @@ -16,5 +16,5 @@ test (void) /* After DCE2 which runs after FRE, the expressions should be fully constant folded. There should be no loads from b left. */ -/* { dg-final { scan-tree-dump-times "__complex__ \\\(1.0e\\\+0, 0.0\\\)" 2 "dce2" } } */ -/* { dg-final { scan-tree-dump-times "= b" 0 "dce2" } } */ +/* { dg-final { scan-tree-dump-times "__complex__ \\\(1.0e\\\+0, 0.0\\\)" 2 "dce3" } } */ +/* { dg-final { scan-tree-dump-times "= b" 0 "dce3" } } */ diff --git a/gcc/testsuite/gcc.dg/tm/pub-safety-1.c b/gcc/testsuite/gcc.dg/tm/pub-safety-1.c index c95111ca125..59fb43e6edd 100644 --- a/gcc/testsuite/gcc.dg/tm/pub-safety-1.c +++ b/gcc/testsuite/gcc.dg/tm/pub-safety-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-fgnu-tm -O1 -fdump-tree-lim1" } */ +/* { dg-options "-fgnu-tm -O1 -fdump-tree-lim2" } */ /* Test that thread visible loads do not get hoisted out of loops if the load would not have occurred on each path out of the loop. */ @@ -20,4 +20,4 @@ void reader() } } -/* { dg-final { scan-tree-dump-times "Cannot hoist.*DATA_DATA because it is in a transaction" 1 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Cannot hoist.*DATA_DATA because it is in a transaction" 1 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tm/reg-promotion.c b/gcc/testsuite/gcc.dg/tm/reg-promotion.c index 0200600ef11..47400efd90f 100644 --- a/gcc/testsuite/gcc.dg/tm/reg-promotion.c +++ b/gcc/testsuite/gcc.dg/tm/reg-promotion.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-fgnu-tm -O2 -fdump-tree-lim1" } */ +/* { dg-options "-fgnu-tm -O2 -fdump-tree-lim2" } */ /* Test that `count' is not written to unless p->data>0. */ @@ -20,4 +20,4 @@ void func() } } -/* { dg-final { scan-tree-dump-times "Cannot hoist conditional load of count because it is in a transaction" 1 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Cannot hoist conditional load of count because it is in a transaction" 1 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-prof/20050826-2.c b/gcc/testsuite/gcc.dg/tree-prof/20050826-2.c index 233c7ec70c0..bdaef3d5bf5 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/20050826-2.c +++ b/gcc/testsuite/gcc.dg/tree-prof/20050826-2.c @@ -1,6 +1,6 @@ /* Testcase derived from gcc.c-torture/execute 20050826-2.c which showed jump threading profile insanities. */ -/* { dg-options "-Ofast -fdump-tree-dom1-all" } */ +/* { dg-options "-Ofast -fdump-tree-dom2-all" } */ struct rtattr { @@ -72,4 +72,4 @@ main (void) return 0; } -/* { dg-final-use { scan-tree-dump-not "Invalid sum" "dom1"} } */ +/* { dg-final-use { scan-tree-dump-not "Invalid sum" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c b/gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c index 565dd1cd366..49102df3e61 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c +++ b/gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c @@ -1,6 +1,6 @@ /* Testcase derived from gcc.c-torture/execute cmpsf-1.c which showed jump threading profile insanities. */ -/* { dg-options "-Ofast -fdump-tree-dom1-all" } */ +/* { dg-options "-Ofast -fdump-tree-dom2-all" } */ #include <limits.h> @@ -181,4 +181,4 @@ main (void) exit (0); } -/* { dg-final-use { scan-tree-dump-not "Invalid sum" "dom1"} } */ +/* { dg-final-use { scan-tree-dump-not "Invalid sum" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c b/gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c index d4f42f932f1..5009cd69cfe 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-dce2" } */ +/* { dg-options "-O -fdump-tree-dce3" } */ struct rtx_def; typedef struct rtx_def *rtx; @@ -42,13 +42,13 @@ get_alias_set (t) /* There should be precisely one load of ->decl.rtl. If there is more than, then the dominator optimizations failed. */ -/* { dg-final { scan-tree-dump-times "->decl\\.rtl" 1 "dce2"} } */ +/* { dg-final { scan-tree-dump-times "->decl\\.rtl" 1 "dce3"} } */ /* There should be no loads of .rtmem since the complex return statement is just "return 0". */ -/* { dg-final { scan-tree-dump-times ".rtmem" 0 "dce2"} } */ +/* { dg-final { scan-tree-dump-times ".rtmem" 0 "dce3"} } */ /* There should be one IF statement (the complex return statement should collapse down to a simple return 0 without any conditionals). */ -/* { dg-final { scan-tree-dump-times "if " 1 "dce2"} } */ +/* { dg-final { scan-tree-dump-times "if " 1 "dce3"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c b/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c index bdb22fff646..069f953c0f7 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dce1" } */ +/* { dg-options "-O2 -fdump-tree-dce2" } */ void foo (void); @@ -15,4 +15,4 @@ bar (int i, int partial, int args_addr) /* There should be only one IF conditional since the first does nothing useful. */ -/* { dg-final { scan-tree-dump-times "if " 1 "dce1"} } */ +/* { dg-final { scan-tree-dump-times "if " 1 "dce2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c index 13ecd494354..131472edc7c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dom1 -fdump-tree-optimized" } */ +/* { dg-options "-O1 -fdump-tree-dom2 -fdump-tree-optimized" } */ void dont_remove (void); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c b/gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c index 2434d34745b..6c133bdee31 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dom1 -fdisable-tree-ifcombine" } */ +/* { dg-options "-O1 -fdump-tree-dom2 -fdisable-tree-ifcombine" } */ struct rtx_def; typedef struct rtx_def *rtx; @@ -24,4 +24,4 @@ rgn_rank (rtx insn1, rtx insn2) SSA name to record as a copy of the other when DOM derives copies from temporary equivalences. The heuristics there no longer do the correct thing. VRP still optimizes this testcase. */ -/* { dg-final { scan-tree-dump-times "if " 2 "dom1" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "if " 2 "dom2" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c index c780e7e9f9e..25f9144c026 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dom1" } */ +/* { dg-options "-O1 -fdump-tree-dom2" } */ typedef struct edge_def { @@ -26,4 +26,4 @@ blah (int arf) } /* There should be one load from entry_exit_blocks[1].pred. */ -/* { dg-final { scan-tree-dump-times "entry_exit_blocks.1..pred" 1 "dom1"} } */ +/* { dg-final { scan-tree-dump-times "entry_exit_blocks.1..pred" 1 "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c index 2473038403a..de7fa11fe47 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dom1" } */ +/* { dg-options "-O1 -fdump-tree-dom2" } */ void bar1 (void); void bar2 (void); @@ -13,4 +13,4 @@ foo (unsigned int a, unsigned int b) bar2 (); } -/* { dg-final { scan-tree-dump-times "bar2" 0 "dom1" } } */ +/* { dg-final { scan-tree-dump-times "bar2" 0 "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c index adccf9a790d..d95c78203e0 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dom1" } */ +/* { dg-options "-O1 -fdump-tree-dom2" } */ void bar1 (void); void bar2 (void); @@ -17,4 +17,4 @@ foo (unsigned int a, unsigned int b) true (to reach the second condition we know a < b via the first conditional. */ -/* { dg-final { scan-tree-dump-times "if " 1 "dom1" } } */ +/* { dg-final { scan-tree-dump-times "if " 1 "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c index 6e7ffbb8fac..812887a87ac 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dce2" } */ +/* { dg-options "-O1 -fdump-tree-dce3" } */ int foo () @@ -16,4 +16,4 @@ foo () compiler was mistakenly thinking that the statement had volatile operands. But 'p' itself is not volatile and taking the address of a volatile does not constitute a volatile operand. */ -/* { dg-final { scan-tree-dump-times "&x" 0 "dce2"} } */ +/* { dg-final { scan-tree-dump-times "&x" 0 "dce3"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c index fe220cd7056..fd9895b7020 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-lim1-details --param allow-store-data-races=1" } */ +/* { dg-options "-O1 -fdump-tree-lim2-details --param allow-store-data-races=1" } */ float a[100]; @@ -17,4 +17,4 @@ void xxx (void) /* Store motion may be applied to the assignment to a[k], since sinf cannot read nor write the memory. */ -/* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c b/gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c index 4d22a42814a..53ce97340d2 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dce1" } */ +/* { dg-options "-O2 -fdump-tree-dce2" } */ void cleanup (int a, int b) { @@ -15,4 +15,4 @@ cleanup (int a, int b) return; } /* Dce should get rid of the initializers and cfgcleanup should elliminate ifs */ -/* { dg-final { scan-tree-dump-times "if " 0 "dce1"} } */ +/* { dg-final { scan-tree-dump-times "if " 0 "dce2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c b/gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c index 4241b40835e..a5a82121ff2 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-ch-details" } */ +/* { dg-options "-O2 -fdump-tree-ch2-details" } */ extern int foo (int); @@ -12,4 +12,4 @@ void bla (void) } /* There should be a header duplicated. */ -/* { dg-final { scan-tree-dump-times "Duplicating header" 1 "ch"} } */ +/* { dg-final { scan-tree-dump-times "Duplicating header" 1 "ch2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c b/gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c index eb1e6dea3d9..e9a6f870b80 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-ch" } */ +/* { dg-options "-O2 -fdump-tree-ch2" } */ typedef union tree_node *tree; enum tree_code { @@ -56,4 +56,4 @@ emit_support_tinfos (void) } /* We should copy loop header to fundamentals[0] and then fold it way into known value. */ -/* { dg-final { scan-tree-dump-not "fundamentals.0" "ch"} } */ +/* { dg-final { scan-tree-dump-not "fundamentals.0" "ch2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-32.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-32.c index 9953bb5aa62..e06a1e4e115 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-32.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-32.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ int x; int a[100]; @@ -42,4 +42,4 @@ void test3(struct a *A) } } -/* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-33.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-33.c index 2cf4c5a67bb..57fd06d38df 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-33.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-33.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ int x; int a[100]; @@ -36,4 +36,4 @@ void test5(struct a *A, unsigned b) } } -/* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim1" { xfail { lp64 || llp64 } } } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim2" { xfail { lp64 || llp64 } } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-34.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-34.c index 67493a527ee..4a7b082fe43 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-34.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-34.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ int r[6]; @@ -17,4 +17,4 @@ void f (int n) } -/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-35.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-35.c index 70557c55b4c..4e9d03a86da 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-35.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-35.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ int x; int a[100]; @@ -67,5 +67,5 @@ void test4(struct a *A, unsigned LONG b) } } /* long index not hoisted for avr target PR 36561 */ -/* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim1" { xfail { "avr-*-*" } } } } */ -/* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim1" { target { "avr-*-*" } } } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim2" { xfail { "avr-*-*" } } } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim2" { target { "avr-*-*" } } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-36.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-36.c index d92299143d0..516cad9083f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-36.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-36.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dce2" } */ +/* { dg-options "-O2 -fdump-tree-dce3" } */ struct X { float array[2]; }; @@ -18,4 +18,4 @@ float foobar () { /* The temporary structure should have been promoted to registers by FRE after the loops have been unrolled by the early unrolling pass. */ -/* { dg-final { scan-tree-dump-not "c\.array" "dce2" } } */ +/* { dg-final { scan-tree-dump-not "c\.array" "dce3" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-40.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-40.c index 83973961911..36db5657a9a 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-40.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-40.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-ch-details" } */ +/* { dg-options "-O2 -fdump-tree-ch2-details" } */ int mymax2(int *it, int *end) { @@ -10,4 +10,4 @@ int mymax2(int *it, int *end) return max; } -/* { dg-final { scan-tree-dump "Duplicating header" "ch" } } */ +/* { dg-final { scan-tree-dump "Duplicating header" "ch2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-7.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-7.c index 26fb4ec5288..08a49352400 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-7.c @@ -1,6 +1,6 @@ /* PR tree-optimization/19828 */ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-lim1-details" } */ +/* { dg-options "-O1 -fdump-tree-lim2-details" } */ int cst_fun1 (int) __attribute__((__const__)); int cst_fun2 (int) __attribute__((__const__)); @@ -31,4 +31,4 @@ int xxx (void) Calls to cst_fun2 and pure_fun2 should not be, since calling with k = 0 may be invalid. */ -/* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c index 26ea8177583..e8b62c2ca1f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21086.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1 -fdump-tree-dce1 -fdelete-null-pointer-checks" } */ +/* { dg-options "-O2 -fdump-tree-vrp1 -fdump-tree-dce2 -fdelete-null-pointer-checks" } */ int foo (int *p) @@ -18,5 +18,5 @@ foo (int *p) /* Target disabling -fdelete-null-pointer-checks should not fold checks */ /* { dg-final { scan-tree-dump "Folding predicate " "vrp1" { target { ! keeps_null_pointer_checks } } } } */ /* { dg-final { scan-tree-dump-times "Folding predicate " 0 "vrp1" { target { keeps_null_pointer_checks } } } } */ -/* { dg-final { scan-tree-dump-not "b_. =" "dce1" { target { ! avr-*-* } } } } */ -/* { dg-final { scan-tree-dump "b_. =" "dce1" { target { avr-*-* } } } } */ +/* { dg-final { scan-tree-dump-not "b_. =" "dce2" { target { ! avr-*-* } } } } */ +/* { dg-final { scan-tree-dump "b_. =" "dce2" { target { avr-*-* } } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21417.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21417.c index fed6b31899c..c865ee3337c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr21417.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21417.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom2-details" } */ +/* { dg-options "-O2 -fdump-tree-dom3-details" } */ struct tree_common { @@ -49,5 +49,5 @@ L23: /* We should thread the backedge to the top of the loop; ie we only execute the if (expr->common.code != 142) test once per loop iteration. */ -/* { dg-final { scan-tree-dump-times "FSM jump thread" 1 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "FSM jump thread" 1 "dom3" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr23109.c b/gcc/testsuite/gcc.dg/tree-ssa/pr23109.c index 8281a9840b4..fac991c77af 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr23109.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr23109.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim1" } */ +/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim2" } */ /* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */ double F[2] = { 0., 0. }, e = 0.; @@ -29,6 +29,6 @@ int main() /* LIM only performs the transformation in the no-trapping-math case. In the future we will do it for trapping-math as well in recip, check that this is not wrongly optimized. */ -/* { dg-final { scan-tree-dump-not "reciptmp" "lim1" } } */ +/* { dg-final { scan-tree-dump-not "reciptmp" "lim2" } } */ /* { dg-final { scan-tree-dump-not "reciptmp" "recip" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr61607.c b/gcc/testsuite/gcc.dg/tree-ssa/pr61607.c index bf46198f75f..0868a4459dc 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr61607.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr61607.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-Os -fno-tree-fre -fdump-tree-dom1" } */ +/* { dg-options "-Os -fno-tree-fre -fdump-tree-dom2" } */ void foo(int *); void f2(int dst[3], int R) @@ -23,6 +23,6 @@ void f2(int dst[3], int R) /* There should be precisely two conditionals. One for the loop condition and one for the test after the loop. Previously we failed to eliminate the second conditional after the loop. */ -/* { dg-final { scan-tree-dump-times "if" 2 "dom1"} } */ +/* { dg-final { scan-tree-dump-times "if" 2 "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c b/gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c index e9e1438540c..90b9b558622 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim2-details" } */ void f(int * __restrict__ r, int a[__restrict__ 16][16], @@ -14,4 +14,4 @@ void f(int * __restrict__ r, /* We should apply store motion to the store to *r. */ -/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c b/gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c index 6dd4c99bc93..fc03c1e9c1c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim2-details" } */ static inline __attribute__((always_inline)) void f(int * __restrict__ r, @@ -20,4 +20,4 @@ void g(int *r, int a[16][16], int b[16][16], int i, int j) /* We should apply store motion to the store to *r. */ -/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c index ba7b060d599..35b3d00ee44 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom2" } */ +/* { dg-options "-O2 -fdump-tree-dom3" } */ struct x { @@ -16,7 +16,7 @@ f (struct x *p, unsigned int n) foo (p->a[n], p->c[n], p->b[n]); } -/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" { target { int32 } } } } */ -/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom2" { target { int16 } } } } */ -/* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+;" 1 "dom2" } } */ -/* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 3 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom3" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom3" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+;" 1 "dom3" } } */ +/* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 3 "dom3" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c index 5ea7098492d..732d2324db5 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom2" } */ +/* { dg-options "-O2 -fdump-tree-dom3" } */ struct x { @@ -20,7 +20,7 @@ f (struct x *p, unsigned int n) foo (p->b[n], p->a[n], p->c[n]); } -/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" { target { int32 } } } } */ -/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom2" { target { int16 } } } } */ -/* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+" 1 "dom2" } } */ -/* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 9 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom3" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom3" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+" 1 "dom3" } } */ +/* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 9 "dom3" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c index 26d4558481d..a22cc7906da 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom2" } */ +/* { dg-options "-O2 -fdump-tree-dom3" } */ struct x { @@ -22,7 +22,7 @@ f (struct x *p, unsigned int n) } } -/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" { target { int32 } } } } */ -/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom2" { target { int16 } } } } */ -/* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+" 1 "dom2" } } */ -/* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 9 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom3" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom3" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+" 1 "dom3" } } */ +/* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 9 "dom3" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c index 4a8c6b6d5cd..0c478d1a3fa 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dce2" } */ +/* { dg-options "-O1 -fdump-tree-dce3" } */ int t() __attribute__ ((const)); void @@ -10,4 +10,4 @@ q() i = t(); } /* There should be no IF conditionals. */ -/* { dg-final { scan-tree-dump-times "if " 0 "dce2"} } */ +/* { dg-final { scan-tree-dump-times "if " 0 "dce3"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c index 6281a1e7fa5..b3f50731eea 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dce2" } */ +/* { dg-options "-O2 -fdump-tree-dce3" } */ /* We should notice constantness of this function. */ static int __attribute__((noinline)) t(int a) @@ -13,4 +13,4 @@ void q(void) i = t(1); } /* There should be no IF conditionals. */ -/* { dg-final { scan-tree-dump-times "if " 0 "dce2"} } */ +/* { dg-final { scan-tree-dump-times "if " 0 "dce3"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c index bf50e63494c..18f9041827d 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -w -fdump-tree-dom1-details" } */ +/* { dg-options "-O2 -w -fdump-tree-dom2-details" } */ typedef struct rtx_def *rtx; struct rtx_def @@ -21,9 +21,9 @@ try_combine (rtx i1, rtx newpat) /* There should be three tests against i1. Two from the hash table dumps, one in the code itself. */ -/* { dg-final { scan-tree-dump-times "if .i1_" 3 "dom1"} } */ +/* { dg-final { scan-tree-dump-times "if .i1_" 3 "dom2"} } */ /* There should be no actual jump threads realized by DOM. The legitimize jump threads are handled in VRP and those discovered by DOM are subsumed by collapsing a conditional. */ -/* { dg-final { scan-tree-dump-not "Threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Threaded" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-3.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-3.c index 0711ff4e603..04637c27005 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-3.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-O -fno-tree-fre -fdump-tree-dom1" } */ +/* { dg-options "-O -fno-tree-fre -fdump-tree-dom2" } */ extern void abort (void); @@ -27,4 +27,4 @@ main() return 0; } -/* { dg-final { scan-tree-dump "= PHI <\[01\]\\\(.\\\), \[01\]\\\(.\\\)>" "dom1" } } */ +/* { dg-final { scan-tree-dump "= PHI <\[01\]\\\(.\\\), \[01\]\\\(.\\\)>" "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c index 5e62fe5a987..759d9ab7afa 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fno-tree-vrp -fdump-tree-dom1-details" } */ +/* { dg-options "-O2 -fno-tree-vrp -fdump-tree-dom2-details" } */ void t(void); void q(void); void q1(void); @@ -14,4 +14,4 @@ threading(int a,int b) q1(); } /* We should thread the jump twice and elliminate it. */ -/* { dg-final { scan-tree-dump-times "Threaded" 2 "dom1"} } */ +/* { dg-final { scan-tree-dump-times "Threaded" 2 "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c index 73d0ccf0cb4..b972f649442 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */ void bla(); @@ -18,4 +18,4 @@ void thread_entry_through_header (void) jump threading pass. */ /* { dg-final { scan-tree-dump-times "Jumps threaded: 1" 1 "vrp1"} } */ /* { dg-final { scan-tree-dump-times "Jumps threaded: 2" 0 "vrp1"} } */ -/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c index 909009a7f7c..0d40254b14d 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */ void foo(); void bla(); @@ -25,5 +25,5 @@ void thread_latch_through_header (void) /* Threading the latch to a later point in the loop is safe in this case. And we want to thread through the header as well. These are both caught by threading in DOM. */ -/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */ /* { dg-final { scan-tree-dump-times "Jumps threaded: 2" 1 "vrp1"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c index 3a1f0d0ba6f..f3e37bd8d38 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */ void foo(); void bla(); @@ -29,4 +29,4 @@ void dont_thread_1 (void) header and around the latch. If one is done without the other, then we create an irreducible CFG. */ /* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp1"} } */ -/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c index 5a4b7055884..9b4637a22a0 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */ void foo(); void bla(); @@ -26,4 +26,4 @@ void dont_thread_2 (int first) /* Peeling off the first iteration would make threading through the loop latch safe, but we don't do that currently. */ /* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp1"} } */ -/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2e.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2e.c index e0c7738d057..78e64c451dd 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2e.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2e.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */ void foo(); void bla(); @@ -25,4 +25,4 @@ void dont_thread_3 (int nfirst) /* Threading through the loop header is not safe here. Peeling off the first iteration then unswitching the loop would be safe. */ /* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp1"} } */ -/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2f.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2f.c index e278df01c00..e5c9f887a20 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2f.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2f.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */ void foo(); void bla(); @@ -31,4 +31,4 @@ void dont_thread_4 (int a, int nfirst) } /* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp1"} } */ -/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom1"} } */ +/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c index 3b66d4dfdbc..77ba74c1352 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom1-details -std=gnu89" } */ +/* { dg-options "-O2 -fdump-tree-dom2-details -std=gnu89" } */ struct bitmap_head_def; typedef struct bitmap_head_def *bitmap; typedef const struct bitmap_head_def *const_bitmap; @@ -58,7 +58,7 @@ bitmap_ior_and_compl (bitmap dst, const_bitmap a, const_bitmap b, code we missed the edge when the first conditional is false (b_elt is zero, which means the second conditional is always zero. */ -/* { dg-final { scan-tree-dump-times "Threaded" 3 "dom1" { target { ! logical_op_short_circuit } } } } */ +/* { dg-final { scan-tree-dump-times "Threaded" 3 "dom2" { target { ! logical_op_short_circuit } } } } */ /* On targets that define LOGICAL_OP_NON_SHORT_CIRCUIT to 0, we split both "a_elt || b_elt" and "b_elt && kill_elt" into two conditions each, rather than using "(var1 != 0) op (var2 != 0)". Also, as on other targets, @@ -75,5 +75,5 @@ bitmap_ior_and_compl (bitmap dst, const_bitmap a, const_bitmap b, -> "kill_elt->indx == b_elt->indx" in the second condition, skipping the known-true "b_elt && kill_elt" in the second condition. */ -/* { dg-final { scan-tree-dump-times "Threaded" 4 "dom1" { target logical_op_short_circuit } } } */ +/* { dg-final { scan-tree-dump-times "Threaded" 4 "dom2" { target logical_op_short_circuit } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-5.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-5.c index c76db3c90cd..1c42c27ef72 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-5.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-Os -fno-tree-fre -fdump-tree-dom1-details" } */ +/* { dg-options "-Os -fno-tree-fre -fdump-tree-dom2-details" } */ void foo(int *); void f2(int dst[3], int R) @@ -19,4 +19,4 @@ void f2(int dst[3], int R) foo(inter); } -/* { dg-final { scan-tree-dump "Threaded jump" "dom1" } } */ +/* { dg-final { scan-tree-dump "Threaded jump" "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c index bd1301e2934..ab6b6ebace2 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom1-details" } */ -/* { dg-final { scan-tree-dump-times "FSM" 6 "dom1" } } */ +/* { dg-options "-O2 -fdump-tree-dom2-details" } */ +/* { dg-final { scan-tree-dump-times "FSM" 6 "dom2" } } */ int sum0, sum1, sum2, sum3; int foo (char *s, char **ret) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c index ac12b6ca714..93c767c352c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom1-stats -fdump-tree-dom2-stats" } */ +/* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats -fdump-tree-dom3-stats" } */ /* { dg-final { scan-tree-dump "Jumps threaded: 7" "vrp1" } } */ -/* { dg-final { scan-tree-dump "Jumps threaded: 12" "dom1" } } */ -/* { dg-final { scan-tree-dump "Jumps threaded: 3" "dom2" } } */ +/* { dg-final { scan-tree-dump "Jumps threaded: 12" "dom2" } } */ +/* { dg-final { scan-tree-dump "Jumps threaded: 3" "dom3" } } */ enum STATE { S0=0, diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c index 1b387cd4275..4ee704969aa 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1" } */ +/* { dg-options "-O -fdump-tree-lim2" } */ /* This is a variant that does cause fold to place a cast to int before testing bit 1. */ @@ -18,4 +18,4 @@ quantum_toffoli (int control1, int control2, int target, } } -/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c index 79ea0428223..ec609d81c68 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ int *l, *r; int test_func(void) @@ -27,4 +27,4 @@ int test_func(void) return i; } -/* { dg-final { scan-tree-dump "Executing store motion of pos" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of pos" "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c index eadf71c19f7..e4c11aab195 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fprofile-arcs -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fprofile-arcs -fdump-tree-lim2-details" } */ /* { dg-require-profiling "-fprofile-generate" } */ struct thread_param @@ -22,4 +22,4 @@ void access_buf(struct thread_param* p) } } -/* { dg-final { scan-tree-dump-times "Executing store motion of __gcov0.access_buf\\\[\[01\]\\\] from loop 1" 2 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of __gcov0.access_buf\\\[\[01\]\\\] from loop 1" 2 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c index 35f17d50b53..016ff22f39f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1" } */ +/* { dg-options "-O -fdump-tree-lim2" } */ int a[1024]; @@ -23,4 +23,4 @@ void bar (int x, int z) } } -/* { dg-final { scan-tree-dump-times "!= 0 ? " 2 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "!= 0 ? " 2 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c index 8e72f7820a8..37639cdbaf7 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1" } */ +/* { dg-options "-O -fdump-tree-lim2" } */ /* This is a variant that doesn't cause fold to place a cast to int before testing bit 1. */ @@ -18,4 +18,4 @@ int size) } } -/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c index 20352159af4..f059d5a0209 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fdump-tree-lim2-details" } */ struct { int x; int y; } global; void foo(int n) @@ -9,5 +9,5 @@ void foo(int n) global.y += global.x*global.x; } -/* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim1" } } */ -/* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim2" } } */ +/* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c index 283d2063710..21edcd0a0dc 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ double a[16][64], y[64], x[16]; void foo(void) @@ -10,4 +10,4 @@ void foo(void) y[j] = y[j] + a[i][j] * x[i]; } -/* { dg-final { scan-tree-dump "Executing store motion of y" "lim1" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of y" "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c index f9d685ef5ca..7612e75afae 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fdump-tree-lim2-details" } */ extern const int srcshift; @@ -11,4 +11,4 @@ void foo (int *srcdata, int *dstdata) dstdata[i] = srcdata[i] << srcshift; } -/* { dg-final { scan-tree-dump "Moving statement" "lim1" } } */ +/* { dg-final { scan-tree-dump "Moving statement" "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c index aaad0f00ba7..9256b39fb44 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fdump-tree-lim2-details" } */ void bar (int); void foo (int n, int m) @@ -16,4 +16,4 @@ void foo (int n, int m) } } -/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c index 8abc2c7ba43..a65656f49ee 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim1-details" } */ +/* { dg-options "-O -fdump-tree-lim2-details" } */ void bar (int); void foo (int n, int m) @@ -16,4 +16,4 @@ void foo (int n, int m) } } -/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c index 0697fb0caf5..f250d224f2b 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-dom1-details" } */ -/* { dg-final { scan-tree-dump "FSM" "dom1" } } */ +/* { dg-options "-O2 -fdump-tree-dom2-details" } */ +/* { dg-final { scan-tree-dump "FSM" "dom2" } } */ typedef struct bitmap_head_def *bitmap; typedef const struct bitmap_head_def *const_bitmap; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c b/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c index 0582e26e2c4..94bdd4ab237 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim1-details" } */ +/* { dg-options "-O2 -fdump-tree-lim2-details" } */ int x; int y; struct { int x; int y; } global; int foo() { @@ -10,5 +10,5 @@ int foo() { global.y += global.x*global.x; } -/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim1" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim2" } } */ /* XXX: We should also check for the load motion of global.x, but there is no easy way to do this. */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c index d96e842e19a..beca5fa8c5c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c @@ -4,7 +4,7 @@ jumps when evaluating an && condition. VRP is not able to optimize this. */ /* { dg-do compile { target { ! { logical_op_short_circuit || { s390*-*-* mn10300-*-* hppa*-*-* } } } } } */ -/* { dg-options "-O2 -fdump-tree-vrp1 -fdump-tree-dom1 -fdump-tree-vrp2" } */ +/* { dg-options "-O2 -fdump-tree-vrp1 -fdump-tree-dom2 -fdump-tree-vrp2" } */ /* { dg-additional-options "-march=i586" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ int h(int x, int y) diff --git a/gcc/testsuite/gcc.dg/vect/pr26359.c b/gcc/testsuite/gcc.dg/vect/pr26359.c index 597ee7e832d..5b445a9bda7 100644 --- a/gcc/testsuite/gcc.dg/vect/pr26359.c +++ b/gcc/testsuite/gcc.dg/vect/pr26359.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_int } */ -/* { dg-additional-options "-fdump-tree-dce5-details" } */ +/* { dg-additional-options "-fdump-tree-dce6-details" } */ int a[256], b[256], c[256]; @@ -13,4 +13,4 @@ foo () { } } -/* { dg-final { scan-tree-dump-times "Deleting : vect_" 0 "dce5" } } */ +/* { dg-final { scan-tree-dump-times "Deleting : vect_" 0 "dce6" } } */ diff --git a/gcc/testsuite/gfortran.dg/pr32921.f b/gcc/testsuite/gfortran.dg/pr32921.f index 1c45d1e8921..0661208edde 100644 --- a/gcc/testsuite/gfortran.dg/pr32921.f +++ b/gcc/testsuite/gfortran.dg/pr32921.f @@ -1,5 +1,5 @@ ! { dg-do compile } -! { dg-options "-O2 -fdump-tree-lim1" } +! { dg-options "-O2 -fdump-tree-lim2" } ! gfortran -c -m32 -O2 -S junk.f ! MODULE LES3D_DATA @@ -45,4 +45,4 @@ RETURN END -! { dg-final { scan-tree-dump-times "stride" 4 "lim1" } } +! { dg-final { scan-tree-dump-times "stride" 4 "lim2" } } diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c index 7e618bf3545..6493fcc428b 100644 --- a/gcc/tree-ssa-loop-ch.c +++ b/gcc/tree-ssa-loop-ch.c @@ -165,6 +165,8 @@ public: /* Initialize and finalize loop structures, copying headers inbetween. */ virtual unsigned int execute (function *); + opt_pass * clone () { return new pass_ch (m_ctxt); } + protected: /* ch_base method: */ virtual bool process_loop_p (struct loop *loop); |