summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/omp-low.c1
-rw-r--r--gcc/passes.def17
-rw-r--r--gcc/testsuite/ChangeLog76
-rw-r--r--gcc/testsuite/c-c++-common/restrict-2.c4
-rw-r--r--gcc/testsuite/c-c++-common/restrict-4.c4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr19637.C4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr33615.C4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr61009.C4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/restrict1.C4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C4
-rw-r--r--gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr20115-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/pr23911.c6
-rw-r--r--gcc/testsuite/gcc.dg/tm/pub-safety-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tm/reg-promotion.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/20050826-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c8
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-32.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-33.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-34.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-35.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-36.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-40.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/loop-7.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr21086.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr21417.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr23109.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr61607.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c10
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c10
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c10
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-3.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2e.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2f.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/vrp47.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr26359.c4
-rw-r--r--gcc/testsuite/gfortran.dg/pr32921.f4
-rw-r--r--gcc/tree-ssa-loop-ch.c2
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);