]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add pass_oacc_kernels pass group in passes.def
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Nov 2015 21:26:37 +0000 (21:26 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Nov 2015 21:26:37 +0000 (21:26 +0000)
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.

* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230907 138bc75d-0d04-0410-961f-82ee72b054a4

78 files changed:
gcc/ChangeLog
gcc/omp-low.c
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/restrict-2.c
gcc/testsuite/c-c++-common/restrict-4.c
gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C
gcc/testsuite/g++.dg/tree-ssa/pr19637.C
gcc/testsuite/g++.dg/tree-ssa/pr33615.C
gcc/testsuite/g++.dg/tree-ssa/pr61009.C
gcc/testsuite/g++.dg/tree-ssa/restrict1.C
gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C
gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c
gcc/testsuite/gcc.dg/pr20115-1.c
gcc/testsuite/gcc.dg/pr23911.c
gcc/testsuite/gcc.dg/tm/pub-safety-1.c
gcc/testsuite/gcc.dg/tm/reg-promotion.c
gcc/testsuite/gcc.dg/tree-prof/20050826-2.c
gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c
gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c
gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c
gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c
gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c
gcc/testsuite/gcc.dg/tree-ssa/foldconst-2.c
gcc/testsuite/gcc.dg/tree-ssa/loop-32.c
gcc/testsuite/gcc.dg/tree-ssa/loop-33.c
gcc/testsuite/gcc.dg/tree-ssa/loop-34.c
gcc/testsuite/gcc.dg/tree-ssa/loop-35.c
gcc/testsuite/gcc.dg/tree-ssa/loop-36.c
gcc/testsuite/gcc.dg/tree-ssa/loop-40.c
gcc/testsuite/gcc.dg/tree-ssa/loop-7.c
gcc/testsuite/gcc.dg/tree-ssa/pr21086.c
gcc/testsuite/gcc.dg/tree-ssa/pr21417.c
gcc/testsuite/gcc.dg/tree-ssa/pr23109.c
gcc/testsuite/gcc.dg/tree-ssa/pr61607.c
gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c
gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c
gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c
gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c
gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-branch-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-3.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2a.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2e.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2f.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-5.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c
gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c
gcc/testsuite/gcc.dg/tree-ssa/vrp47.c
gcc/testsuite/gcc.dg/vect/pr26359.c
gcc/testsuite/gfortran.dg/pr32921.f
gcc/tree-ssa-loop-ch.c

index 8ba6d08f89cc5408004f4e79c43a31a077c6b467..2b9ef71c38287e9125a78d44ee4bc85544ea1531 100644 (file)
@@ -1,3 +1,9 @@
+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):
index 2d782eb0c94520ec8714e2640b94724dc49edad4..a923e37244ae1b663f68fa671e0419b52c3db618 100644 (file)
@@ -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
 
index 17027786f7f29a691db416757677fca88de9d7bc..28cb4c1cf1fc12aa9ac6bc78d1ba6c9461c738ab 100644 (file)
@@ -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);
index c55322a1fd06304f3b50e6554d24de22d32664ae..7e24abb5a134a4cd98be33bc7b5f64bf66334dd4 100644 (file)
@@ -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.
index 5e8bca797999af4f906f55ec25cf9aad4bc78e03..ad19fb3f2d5e5f58a78b91804690f29ab002ec85 100644 (file)
@@ -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" } } */
index cea6cd80e3ec067fa19940eab17e598d3a6867b3..5806a2a90184e8638c699e3d19b8c6b6c9c83574 100644 (file)
@@ -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" } } */
index 5ff289c4a70002d64f22efd05c9623c52e4c48af..34a9f7b225b22d480d006d86387b3b9179634b08 100644 (file)
@@ -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" } } */
index 9a7fc9b72bb061cedf879648e3e42560c9d7895d..8172ea83f54d3838ce2e651b80ec5724acd5df70 100644 (file)
@@ -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" } } */
index f1b7a64fa2227bbf8c3ada86d26a37de0403610f..13e20e0cd2ca4023fcd0eabbbe1dfb40729f073d 100644 (file)
@@ -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" } }
index ddc9178be35a6956b2f7a832d5a0bbb25f471397..e07d29c0ad75ecd1563f6843cc611336bc425b5c 100644 (file)
@@ -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" } }
index 5952fcae4b6e51d28400ece9f52475fee06615c7..3228321e522918297a5747b004a7cc3b158ef1ab 100644 (file)
@@ -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" } } */
index 4c9be46408e78108aef8f855c405e06d6d0143d1..30c8485ff15bf6b15336ecf1f0164f321640dd23 100644 (file)
@@ -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"} } */
 
index a8f24b15dc1453f2ea1368f4f9b80b7c92c575e0..033a4070302e5adfc5e688daab68e53e3c2e8c6d 100644 (file)
@@ -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" } } */
index d1c4066729fc9fb0a17b2963bb28cc6d077e1dfa..1be99a5c9650d8f15b881d559a97a4bfb1c40f06 100644 (file)
@@ -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" } } */
index 2c2739712c599faf0fa12490fc85f019f5f40cb0..3fa041222dec4afcf8f131f2a6d7902304d7285b 100644 (file)
@@ -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" } } */
index c95111ca125612fe6745cafe08f3f626d12cca6c..59fb43e6edd689dc17d48cf30adce84e2e159db0 100644 (file)
@@ -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" } } */
index 0200600ef11473d4b9a4e939941f554e64b621c6..47400efd90f0fbd824b04b8fac56fbba10bac9ce 100644 (file)
@@ -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" } } */
index 233c7ec70c0fa2f2ce13b9dbab90a77604768440..bdaef3d5bf576bf8aea4a26d13d8984c1acb89a9 100644 (file)
@@ -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"} } */
index 565dd1cd366ba341079f8d2ce65db9540ed4aeaa..49102df3e61a8d2d3531d2716b9eedd4f9b568d5 100644 (file)
@@ -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"} } */
index d4f42f932f1313d3ffa694855258931a2b17716f..5009cd69cfe81fa41d56e14a74ee05bac9e90ff3 100644 (file)
@@ -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"} } */
 
index bdb22fff6461a1b620c13e54e86b0e75345aa371..069f953c0f788049385af7c214d581e8f01aad1c 100644 (file)
@@ -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"} } */
index 13ecd49435454920cf932d2a4304a4ed1644c2ff..131472edc7c0ce98420f831d5c91464a86e74702 100644 (file)
@@ -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);
 
index 2434d34745bc53e64381e269337739699286e1d1..6c133bdee31c514f77f02e4d83fdb99f2b7e4c1c 100644 (file)
@@ -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 *-*-* } } } */
index c780e7e9f9ec94ac5e59a47f486859c09c04be8d..25f9144c02615af3f7f467f0c64de5f900741d5a 100644 (file)
@@ -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"} } */
index 2473038403a12028124b0dd9a48a87f4403bbb1c..de7fa11fe474b968b6dda22726859778e2158672 100644 (file)
@@ -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" } } */
index adccf9a790d9f77aa1a315d144b0b78db09bf01d..d95c78203e03f3c1277cceb7c33587219d96512c 100644 (file)
@@ -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" } } */
index 6e7ffbb8fac14d306186ce6702f2b2179fca0171..812887a87ace3a213956f5a739c08042c63016c9 100644 (file)
@@ -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"} } */
index fe220cd70569cb91cbdb08bdc67b1e4bc449dbe3..fd9895b70201fe4971a64f418056d175329f7ce3 100644 (file)
@@ -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" } } */
index 4d22a42814a3bfbb8597834f7ebf5f5f2355c03c..53ce97340d20a384aec0529ecf559beb8b60a91b 100644 (file)
@@ -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"} } */
index 4241b40835eeb342568aabbe1ab6be3626855fba..a5a82121ff293415e60077d99b5fa469c7f1aadf 100644 (file)
@@ -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"} } */
index eb1e6dea3d9cf54ce47063f6ba8f79e81627ddee..e9a6f870b8015949441e6fa497d106c78e7904ac 100644 (file)
@@ -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"} } */
index 9953bb5aa625180008174693065eadca394c6c7e..e06a1e4e11506d461be2db232c51bdacf14a5df2 100644 (file)
@@ -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" } } */
index 2cf4c5a67bbf02bc2c28c8c20b6715cd16f057f3..57fd06d38df5693611beedd8703a3e8b32000c53 100644 (file)
@@ -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 } } } } */
index 67493a527ee817b0035b12aafe286cf7fe2ad480..4a7b082fe4333933c23ecb21e59c164ad767a580 100644 (file)
@@ -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" } } */
index 70557c55b4ce4f4e0e70b3c60227f146e1c72e20..4e9d03a86daad6fafda74841422719a3271effcc 100644 (file)
@@ -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-*-*" } } } } */
index d92299143d0445d8cbc9ff9063faad6e0b7c10ea..516cad9083f8336695e0ea4baa148a4cbefa1cdb 100644 (file)
@@ -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" } } */
index 839739619110bbcdd14583b52a6e8cd65bb7c0ea..36db5657a9a0dec0c890a47bad3da5d36c24fbc6 100644 (file)
@@ -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" } } */
index 26fb4ec5288f70f96ab5c58679c6d8ee52acc3ff..08a4935240047ed61947234a1ba6f5610a6fbcdd 100644 (file)
@@ -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" } } */
index 26ea8177583c4dbc4f81204f0f8d8640c981e4d4..e8b62c2ca1f6c4be603d3b61b6d3af730f3ed89a 100644 (file)
@@ -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-*-* } } } } */
index fed6b31899c488c54184f650a26c8aa4301a1324..c865ee3337c262026b22197e68277df869d001c9 100644 (file)
@@ -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" } } */
 
index 8281a9840b428b46fd832833c50dfb5d7ed6a778..fac991c77afc0bf0f3ece17d1563058c19e32fba 100644 (file)
@@ -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" } } */
 
index bf46198f75fbaba6ebbba1c9d098997772be6b6e..0868a4459dcdc019be60480e91c9d45b482ab5c8 100644 (file)
@@ -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"} } */
 
 
index e9e1438540c0ec1847af0e65891d219539cdfd55..90b9b558622f7d1f7fbf0c0ec54c5cd420f9b3bc 100644 (file)
@@ -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" } } */
index 6dd4c99bc93d2dc3597331ea8e90fc8ee5f3c1e7..fc03c1e9c1ca593b8894336da1d16c0be62fa514 100644 (file)
@@ -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" } } */
index ba7b060d599fb8e43598ebd0cc27c61fc08fabe0..35b3d00ee44a5b6edd1d0616e242b0e6eb49cc80 100644 (file)
@@ -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" } } */
index 5ea7098492d9530f0dc5bf908e6db44fcef004be..732d2324db5404a3d6eb40d94ce29e5f453b5892 100644 (file)
@@ -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" } } */
index 26d4558481d9da689f9e49987e791531d5e37fa0..a22cc7906dac00214d0d6f920fe228945bf9ec84 100644 (file)
@@ -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" } } */
index 4a8c6b6d5cdc5a81ce9a9f7b01b9046d8f1b5e66..0c478d1a3fa642a9e563e4fcf151583c36b0217c 100644 (file)
@@ -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"} } */
index 6281a1e7fa567a808be865f6fc829aea000bf5a0..b3f50731eea5d0ca1f74f4fc03d86f6358a477af 100644 (file)
@@ -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"} } */
index bf50e63494c368e41d9ab08e762088b086a7faa9..18f9041827d8dd0a62755e8b4ab64e12bdb795aa 100644 (file)
@@ -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"} } */
index 0711ff4e603f7ef60f3aca97beb36dd579de1002..04637c27005099d4766d8bcea356e76463f882df 100644 (file)
@@ -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" } } */
index 5e62fe5a987440d3c5707e0a285b93d2c3683474..759d9ab7afa652854c7fde81cbd690e936091737 100644 (file)
@@ -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"} } */
index 73d0ccf0cb4be0d6f3da917038b7b8c56c62f0ac..b972f649442bbab3d43dcfc55708bb84c0c4f9fa 100644 (file)
@@ -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"} } */
index 909009a7f7cce89d4c0f871523b5ea5d6f817324..0d40254b14d8c3cf19f00c9f83bac8bfbf5042eb 100644 (file)
@@ -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"} } */
index 3a1f0d0ba6f3c0fb9230d9d6a4fe76c01512d894..f3e37bd8d383fcbe9018763c54e5c925a87d75cc 100644 (file)
@@ -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"} } */
index 5a4b7055884089d6111f8a74c30bc7a9fba1ea77..9b4637a22a03980edb28ec33193201d7b52900d9 100644 (file)
@@ -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"} } */
index e0c7738d057d18dab1ccd3d33c54cd083ea979dd..78e64c451dd9a9d93dccc999cb3a1daa67dc5107 100644 (file)
@@ -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"} } */
index e278df01c0045958f380968ed2da6dfb7a6d7512..e5c9f887a2021fc7e2e73530e3b13bfd3bfd9da1 100644 (file)
@@ -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"} } */
index 3b66d4dfdbc1d7135037ea37fd430715ec1671ff..77ba74c1352a534f2e27cc9a4fe23c81b866b236 100644 (file)
@@ -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 } } } */
 
index c76db3c90cd66a91488ed7db4e6b00ad314440f8..1c42c27ef725f07b8aa73494860b9760205786ba 100644 (file)
@@ -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" } } */
index bd1301e29348919056f7084caeb30a1644d1da6f..ab6b6ebace2229c8a995b5c01fedf3daffdd797b 100644 (file)
@@ -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)
index ac12b6ca7141fdbd2fbe82ae1defebe5a5737044..93c767c352cc12a18a9a5a5cecc85d004d9ed228 100644 (file)
@@ -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,
index 1b387cd42752cfd978ef3885625346feb726a557..4ee704969aae67f11c047f72aa7633a7e4ad1823 100644 (file)
@@ -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" } } */
index 79ea0428223ff286d0bb4dddeaa3cb809ed494a5..ec609d81c68104c4a9f1b927eec5b50b15f9038c 100644 (file)
@@ -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" } } */
index eadf71c19f7d920c4c2498cce1c13c6640770eca..e4c11aab1959d25cb07cba40c24b930763687e39 100644 (file)
@@ -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" } } */
index 35f17d50b53efc1d0e3877c7049ce7e639e1010a..016ff22f39fe62f145e46ff969926d963dcd7112 100644 (file)
@@ -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" } } */
index 8e72f7820a841cacc0e47d6a22f81f223522c6c2..37639cdbaf765443675f8790e3325998c4d718b6 100644 (file)
@@ -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" } } */
index 20352159af415a8be19088d9f260d0fd10861dd0..f059d5a02095a7c11caf72276d1d293ce132472a 100644 (file)
@@ -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" } } */
index 283d206371013513837074ac60541324c6ea6bcf..21edcd0a0dcf65b368d0efecb8a3fc771919f92d 100644 (file)
@@ -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" } } */
index f9d685ef5ca3422b2c72eab2a23a88a74c5e8b6b..7612e75afaeaef0eecfe78fefd4e6fa84b957d85 100644 (file)
@@ -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" } } */
index aaad0f00ba7757ae6ed66830e92731b79916f4b0..9256b39fb449e7fb01e9bf49c3d74bea221a6ea6 100644 (file)
@@ -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"  } } */
index 8abc2c7ba432a91b110e7cec938cf366201dff35..a65656f49eef0540fe19f089cbfc624362ae6e23 100644 (file)
@@ -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"  } } */
index 0697fb0caf5eaa0ed3d12ddce26de27475a5cd38..f250d224f2b82934d8c3c3a48d1308d68ea886f8 100644 (file)
@@ -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;
index 0582e26e2c410a69bfc90990f0bf49a7c8421110..94bdd4ab23798eeae4bd20393ff5eab2f801d1b6 100644 (file)
@@ -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.  */
index d96e842e19ab36d8407d6e6f4aea82d03e84dcc5..beca5fa8c5c08d67fe20cb06d4938ea84736b5e0 100644 (file)
@@ -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)
index 597ee7e832d0b8388ac72888c0ba5f9751c1134b..5b445a9bda7499554d2fd9b07ff92a9328773b82 100644 (file)
@@ -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" } } */
index 1c45d1e892116dff507a21fe6afdfe774218435c..0661208edde5900005332c376c7db6f26b88940b 100644 (file)
@@ -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" } }
index 7e618bf35451e33f18363800bf10e293b31fa7bb..6493fcc428b818073038df162837d212ab2dcff4 100644 (file)
@@ -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);