passes.c (init_optimization_passes): Add FRE pass after early SRA.
authorRichard Guenther <rguenther@suse.de>
Fri, 25 Mar 2011 11:59:19 +0000 (11:59 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 25 Mar 2011 11:59:19 +0000 (11:59 +0000)
2011-03-25  Richard Guenther  <rguenther@suse.de>

* passes.c (init_optimization_passes): Add FRE pass after
early SRA.

* g++.dg/tree-ssa/pr41186.C: Scan the appropriate FRE dump.
* g++.dg/tree-ssa/pr8781.C: Likewise.
* gcc.dg/ipa/ipa-pta-13.c: Likewise.
* gcc.dg/ipa/ipa-pta-3.c: Likewise.
* gcc.dg/ipa/ipa-pta-4.c: Likewise.
* gcc.dg/tree-ssa/20041122-1.c: Likewise.
* gcc.dg/tree-ssa/alias-18.c: Likewise.
* gcc.dg/tree-ssa/foldstring-1.c: Likewise.
* gcc.dg/tree-ssa/forwprop-10.c: Likewise.
* gcc.dg/tree-ssa/forwprop-9.c: Likewise.
* gcc.dg/tree-ssa/fre-vce-1.c: Likewise.
* gcc.dg/tree-ssa/loadpre6.c: Likewise.
* gcc.dg/tree-ssa/pr21574.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-cse-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-11.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-12.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-16.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-17.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-18.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-19.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-21.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-22.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-23.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-26.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-27.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
* gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
* gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
* c-c++-common/pr46562-2.c: Likewise.
* gfortran.dg/pr42108.f90: Likewise.
* gcc.dg/torture/pta-structcopy-1.c: Scan ealias dump, force
foo to be inlined even at -O1.
* gcc.dg/tree-ssa/ssa-dce-4.c: Disable FRE.
* gcc.dg/ipa/ipa-pta-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-1.c: Adjust.
* gcc.dg/matrix/matrix.exp: Disable FRE.

From-SVN: r171450

59 files changed:
gcc/ChangeLog
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr46562-2.c
gcc/testsuite/g++.dg/tree-ssa/pr41186.C
gcc/testsuite/g++.dg/tree-ssa/pr8781.C
gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
gcc/testsuite/gcc.dg/matrix/matrix.exp
gcc/testsuite/gcc.dg/torture/pta-structcopy-1.c
gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c
gcc/testsuite/gcc.dg/tree-ssa/alias-18.c
gcc/testsuite/gcc.dg/tree-ssa/foldstring-1.c
gcc/testsuite/gcc.dg/tree-ssa/forwprop-10.c
gcc/testsuite/gcc.dg/tree-ssa/forwprop-9.c
gcc/testsuite/gcc.dg/tree-ssa/fre-vce-1.c
gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c
gcc/testsuite/gcc.dg/tree-ssa/pr21574.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-4.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-11.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-12.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-13.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-14.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-15.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-16.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-17.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-18.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-19.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-2.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-21.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-22.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-23.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-24.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-25.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-26.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-27.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-6.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-7.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-8.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-9.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-26.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-7.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-8.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-9.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-2.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-3.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-4.c
gcc/testsuite/gcc.dg/tree-ssa/struct-aliasing-1.c
gcc/testsuite/gcc.dg/tree-ssa/struct-aliasing-2.c
gcc/testsuite/gfortran.dg/pr42108.f90

index 03e16086ae3dbc8f746b771ecc8ee1a43f05968a..15b5b0c167a816c04010569633229aabf3eeab78 100644 (file)
@@ -1,3 +1,8 @@
+2011-03-25  Richard Guenther  <rguenther@suse.de>
+
+       * passes.c (init_optimization_passes): Add FRE pass after
+       early SRA.
+
 2011-03-25  Bernd Schmidt  <bernds@codesourcery.com>
            Andrew Stubbs  <ams@codesourcery.com>
 
index 42a323981f778c98272ec6680414cfe2814003d6..852b655e7c6c475c6c03f427bea624d81af8f560 100644 (file)
@@ -762,6 +762,7 @@ init_optimization_passes (void)
             locals into SSA form if possible.  */
          NEXT_PASS (pass_build_ealias);
          NEXT_PASS (pass_sra_early);
+         NEXT_PASS (pass_fre);
          NEXT_PASS (pass_copy_prop);
          NEXT_PASS (pass_merge_phi);
          NEXT_PASS (pass_cd_dce);
index c01c7cbc149fa4bcd59e48672c233522c46d02c7..539fc12f790f3774ba20ff906cf87cd83499ecf9 100644 (file)
@@ -1,3 +1,64 @@
+2011-03-25  Richard Guenther  <rguenther@suse.de>
+       * g++.dg/tree-ssa/pr41186.C: Scan the appropriate FRE dump.
+       * g++.dg/tree-ssa/pr8781.C: Likewise.
+       * gcc.dg/ipa/ipa-pta-13.c: Likewise.
+       * gcc.dg/ipa/ipa-pta-3.c: Likewise.
+       * gcc.dg/ipa/ipa-pta-4.c: Likewise.
+       * gcc.dg/tree-ssa/20041122-1.c: Likewise.
+       * gcc.dg/tree-ssa/alias-18.c: Likewise.
+       * gcc.dg/tree-ssa/foldstring-1.c: Likewise.
+       * gcc.dg/tree-ssa/forwprop-10.c: Likewise.
+       * gcc.dg/tree-ssa/forwprop-9.c: Likewise.
+       * gcc.dg/tree-ssa/fre-vce-1.c: Likewise.
+       * gcc.dg/tree-ssa/loadpre6.c: Likewise.
+       * gcc.dg/tree-ssa/pr21574.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-dom-cse-1.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-11.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-12.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-16.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-17.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-18.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-19.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-21.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-22.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-23.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-26.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-27.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-7.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-pre-10.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-pre-8.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-pre-9.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-sccvn-1.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
+       * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
+       * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
+       * c-c++-common/pr46562-2.c: Likewise.
+       * gfortran.dg/pr42108.f90: Likewise.
+       * gcc.dg/torture/pta-structcopy-1.c: Scan ealias dump, force
+       foo to be inlined even at -O1.
+       * gcc.dg/tree-ssa/ssa-dce-4.c: Disable FRE.
+       * gcc.dg/ipa/ipa-pta-14.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-fre-1.c: Adjust.
+       * gcc.dg/matrix/matrix.exp: Disable FRE.
+
 2011-03-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/48204
index 5415860c7a74d25599cf5c8bd768e5cc2723818f..45bf5cf71957ebe16a78d586de6fe1e3dae2cec9 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-ccp -fno-tree-forwprop -fdump-tree-fre" } */
+/* { dg-options "-O -fno-tree-ccp -fno-tree-forwprop -fdump-tree-fre1" } */
 
 static const int a[4] = {};
 int foo(void)
@@ -9,5 +9,5 @@ int foo(void)
   return *p;
 }
 
-/* { dg-final { scan-tree-dump "= 0;" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "= 0;" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 91f21a8c643ef1e0c813fe94eaac23964a685cb5..8739ae9e6d5f74d304084fec48ac45ce2451c1cd 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 struct Foo {
   Foo() {};
@@ -29,7 +29,7 @@ int main()
   return 0;
 }
 
-/* { dg-final { scan-tree-dump "Replaced b1.b with 1" "fre" } } */
-/* { dg-final { scan-tree-dump "Replaced b1.i with 0" "fre" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump "Replaced b1.f with 1" "fre" { xfail *-*-* } } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced b1.b with 1" "fre1" } } */
+/* { dg-final { scan-tree-dump "Replaced b1.i with 0" "fre1" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump "Replaced b1.f with 1" "fre1" { xfail *-*-* } } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index a9d279af74eeb7f1e3ef3293ade5bd523f509ea5..fc5f44394d9b42ae36d21ff27ae52c2d69d7ddce 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 int f();
 
@@ -24,5 +24,5 @@ int x()
 
 /* We should optimize this to a direct call.  */
 
-/* { dg-final { scan-tree-dump "Replacing call target with f" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replacing call target with f" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 1e04bfc21186b04fbd369b5a1b01de437d56ae7a..0f46e984bce61cedbf4b410f473bfb7a850ba077 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do link } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2" } */
 
 static int x, y;
 
@@ -54,9 +54,9 @@ int main()
   local_address_taken (&y);
   /* As we are computing flow- and context-insensitive we may not
      CSE the load of x here.  */
-  /* { dg-final { scan-tree-dump " = x;" "fre" } } */
+  /* { dg-final { scan-tree-dump " = x;" "fre2" } } */
   return x;
 }
 
 /* { dg-final { cleanup-ipa-dump "pta" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { cleanup-tree-dump "fre2" } } */
index 074f44a6d68468ca0d786e64c66d14f367373748..e8abc3244a0640d97b1305a2f293b4178827d470 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fno-tree-sra -fdump-ipa-pta-details" } */
+/* { dg-options "-O2 -fipa-pta -fno-tree-fre -fno-tree-sra -fdump-ipa-pta-details" } */
 
 struct X {
     int i;
index e73db1c95ac37c6c93c4c23bf3e533fc0f46d68e..ce9393cb0724f545151518f9786ce68c5b79c836 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2-details" } */
 
 static int __attribute__((noinline,noclone))
 foo (int *p, int *q)
@@ -23,6 +23,6 @@ int main()
 
 /* { dg-final { scan-ipa-dump "foo.arg0 = &a" "pta" } } */
 /* { dg-final { scan-ipa-dump "foo.arg1 = &b" "pta" } } */
-/* { dg-final { scan-tree-dump "Replaced \\\*p_1\\\(D\\\) with 1" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_1\\\(D\\\) with 1" "fre2" } } */
+/* { dg-final { cleanup-tree-dump "fre2" } } */
 /* { dg-final { cleanup-ipa-dump "pta" } } */
index d2b901cf910967b073d82742a21416a77f937ead..32e1e4fbc4911826538b0ae181b39174cb1d7dd7 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2-details" } */
 
 int a, b;
 
@@ -28,6 +28,6 @@ int main()
 
 /* { dg-final { scan-ipa-dump "foo.arg0 = &a" "pta" } } */
 /* { dg-final { scan-ipa-dump "foo.arg1 = &b" "pta" } } */
-/* { dg-final { scan-tree-dump "Replaced \\\*p_1\\\(D\\\) with 1" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_1\\\(D\\\) with 1" "fre2" } } */
+/* { dg-final { cleanup-tree-dump "fre2" } } */
 /* { dg-final { cleanup-ipa-dump "pta" } } */
index 961e0255e332cdd0d97392ebd107f797c04f4be3..aae1988314328aadb3de9cd1960d7f5c004ad7d2 100644 (file)
@@ -20,7 +20,7 @@
 load_lib gcc-dg.exp
 load_lib target-supports.exp
 
-set DEFAULT_MATCFLAGS "-O3 -fipa-matrix-reorg -fdump-ipa-matrix-reorg -fwhole-program"
+set DEFAULT_MATCFLAGS "-O3 -fipa-matrix-reorg -fdump-ipa-matrix-reorg -fwhole-program -fno-tree-fre"
 
 # Initialize `dg'.
 dg-init
@@ -52,8 +52,8 @@ load_lib profopt.exp
 # These are globals used by profopt-execute.  The first is options
 # needed to generate profile data, the second is options to use the
 # profile data.
-set profile_option "-fprofile-generate -O3"
-set feedback_option "-fprofile-use -fipa-matrix-reorg -fdump-ipa-matrix-reorg -O3 -fwhole-program"
+set profile_option "-fprofile-generate -O3 -fno-tree-fre"
+set feedback_option "-fprofile-use -fipa-matrix-reorg -fdump-ipa-matrix-reorg -O3 -fwhole-program -fno-tree-fre"
 
 foreach src [lsort [glob -nocomplain $srcdir/$subdir/transpose-*.c]] {
     # If we're only testing specific files and this isn't one of them, skip it.
index bdb2acb0464ff563f1e1d8ff543e923cbe412fb2..5dc041b0eddbbd312d4111415ef54ca449299d1d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-fno-tree-sra -fdump-tree-alias" } */
+/* { dg-options "-fdump-tree-ealias" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
 
 struct X
@@ -12,10 +12,11 @@ struct X
     } y;
 };
 int i;
-static int
+static int __attribute__((always_inline))
 foo (struct X *x)
 {
   struct Y y = x->y;
+  /* In the inlined instance the dereferenced pointer needs to point to i.  */
   *y.p = 0;
   i = 1;
   return *y.p;
@@ -30,5 +31,5 @@ int main()
   return 0;
 }
 
-/* { dg-final { scan-tree-dump "points-to vars: { i }" "alias" } } */
-/* { dg-final { cleanup-tree-dump "alias" } } */
+/* { dg-final { scan-tree-dump "points-to vars: { i }" "ealias" } } */
+/* { dg-final { cleanup-tree-dump "ealias" } } */
index 6007949546e2235a8d833cc6122a134b37598c1c..5e6828b6f4f21efaa24cdb7dbdb16894b19844eb 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fstrict-aliasing -fdump-tree-fre" } */
+/* { dg-options "-O1 -fstrict-aliasing -fdump-tree-fre1" } */
 
 __extension__ typedef __SIZE_TYPE__ size_t;
 extern void *xmalloc (size_t) __attribute__ ((__malloc__));
@@ -34,5 +34,5 @@ find_unreachable_blocks (void)
    able to determine that modifying e->dest->flags does not
    modify e or e->dest if we can assert strict-aliasing rules.
    The net result is that we only need one load of e->dest.  */
-/* { dg-final { scan-tree-dump-times "->dest" 1 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "->dest" 1 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index e86acbc19005896b38a9420a79f94a609e1b3f60..69c2e23c915776cf8243e46151fc6aed7c74970d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-fre-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -fdump-tree-fre1-details -fdump-tree-optimized" } */
 
 struct A {
   int i;
@@ -76,15 +76,15 @@ int test8 (struct A *p, int *q)
   return *q;
 }
 
-/* { dg-final { scan-tree-dump "with 0" "fre" } } */
-/* { dg-final { scan-tree-dump "with 1" "fre" } } */
-/* { dg-final { scan-tree-dump "with 3" "fre" } } */
-/* { dg-final { scan-tree-dump "with 4" "fre" } } */
-/* { dg-final { scan-tree-dump "with 5" "fre" } } */
-/* { dg-final { scan-tree-dump "with 8" "fre" } } */
+/* { dg-final { scan-tree-dump "with 0" "fre1" } } */
+/* { dg-final { scan-tree-dump "with 1" "fre1" } } */
+/* { dg-final { scan-tree-dump "with 3" "fre1" } } */
+/* { dg-final { scan-tree-dump "with 4" "fre1" } } */
+/* { dg-final { scan-tree-dump "with 5" "fre1" } } */
+/* { dg-final { scan-tree-dump "with 8" "fre1" } } */
 /* { dg-final { scan-tree-dump-not "return 2;" "optimized" } } */
 /* { dg-final { scan-tree-dump-not "return 6;" "optimized" } } */
 /* { dg-final { scan-tree-dump-not "return 7;" "optimized" } } */
 /* { dg-final { scan-tree-dump-not "return -1;" "optimized" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
 /* { dg-final { cleanup-tree-dump "optimized" } } */
index fa64ae14cc42449e98349420b87b55bd2afc034e..3cfe44d1bd252cb2d786b71be6549e100026d558 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-fre" } */
+/* { dg-options "-O1 -fdump-tree-fre1" } */
 
 void
 arf ()
@@ -7,5 +7,5 @@ arf ()
   if (""[0] == 0)
     blah ();
 }
-/* { dg-final { scan-tree-dump-times "= 0;" 1 "fre"} } */ 
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "= 0;" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index b46b8ece81606836484ee8a793db3a55e910090c..5ca8060c8b333cfd87b241741d1525118dc7f5cd 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 int b;
 unsigned a;
@@ -18,5 +18,5 @@ void test2(void)
    conversion to int.  FRE should then be able to replace
    the rhs of the store to b by 1.  */
 
-/* { dg-final { scan-tree-dump "Replaced\[^\\n\]*with 1" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced\[^\\n\]*with 1" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index cc583e293f80bcd8c806aa744c26b7dc6e359e5c..d02a62d3d34ff4b2ef8ef754f80f869411a39511 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-fre -W -Wall -fno-early-inlining" } */
+/* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-fre1 -W -Wall -fno-early-inlining" } */
 
 int b;
 unsigned a;
@@ -16,6 +16,6 @@ void f(void)
 /* We should have converted the assignments to two = 1.  FRE does this.  */
 
 /* { dg-final { scan-tree-dump-times " = 1" 2 "optimized"} } */
-/* { dg-final { scan-tree-dump-not " = a;" "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-not " = a;" "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
 /* { dg-final { cleanup-tree-dump "optimized" } } */
index 599d1f1efd50d125aaefc09d00d4f283f3948dfc..c6c142b4eafce6d45022e8d769ca7fd016314a80 100644 (file)
@@ -1,5 +1,5 @@
-/* { dg-options "-O2 -fdump-tree-fre -w" } */
-/* { dg-options "-O2 -fdump-tree-fre -w -msse" { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-options "-O2 -fdump-tree-fre1 -w" } */
+/* { dg-options "-O2 -fdump-tree-fre1 -w -msse" { target { i?86-*-* x86_64-*-* } } } */
 /* { dg-do compile } */
 #define vector __attribute__((vector_size(sizeof(int)*4) ))
 struct s { vector int i; };
@@ -32,6 +32,6 @@ void a2 (struct s1 sv, int i)
   g(&sv, *(float*)&sv.i);
 }
 
-/* { dg-final { scan-tree-dump-times "sv_\[0-9\]\\\(D\\\)->i" 2 "fre" } } */
-/* { dg-final { scan-tree-dump-times "sv.i" 2 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "sv_\[0-9\]\\\(D\\\)->i" 2 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "sv.i" 2 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index e6130bbe7bdf96f9fe7af125fcdc9c80f11d9fd9..6fc2a57a9f2b190247b2ff10e4aa99d394e5a19f 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fdump-tree-pre-stats -fdump-tree-fre" } */
+/* { dg-options "-O2 -fdump-tree-pre-stats -fdump-tree-fre1" } */
 #include <stddef.h>
 
 union tree_node;
@@ -73,8 +73,8 @@ main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-not "= unexpanded_var_list;" "fre" } } */
+/* { dg-final { scan-tree-dump-not "= unexpanded_var_list;" "fre1" } } */
 /* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "pre" } } */
 /* { dg-final { scan-tree-dump-times "Insertions: 2" 1 "pre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
 /* { dg-final { cleanup-tree-dump "pre" } } */
index fc33d74e9ffeaf4a44592e4cc7aae374347ecf11..dcfa131510ccaf19786094781271f64cbcba89be 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 int
 foo (int *p)
@@ -9,5 +9,5 @@ foo (int *p)
 }
 
 /* The store to *p should be propagated to the load statement.  */
-/* { dg-final { scan-tree-dump "Replaced \\\*p_.\\\(D\\\) with 0" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_.\\\(D\\\) with 0" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 89118a62621c6f7c02540d12563167ddf8c95e0d..261880cc240856012397e2cf8cf2fa08c28ff1a0 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-cddce1" } */
+/* { dg-options "-O -fno-tree-fre -fdump-tree-cddce1" } */
 
 int foo(int b)
 {
@@ -14,5 +14,7 @@ int foo(int b)
   return a[2] + b;
 }
 
+/* Verify DCE removes all accesses to a but the last store and the
+   read from a[2].  */
 /* { dg-final { scan-tree-dump-times "a\\\[\[^\n\]\\\]" 2 "cddce1" } } */
 /* { dg-final { cleanup-tree-dump "cddce1" } } */
index 5bbfd3d17fb807fdd65e6274a864fe313bfcf13a..70a905819cd4a18d6a29a2b4a146039a08940353 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fdump-tree-fre-details" } */
+/* { dg-options "-O2 -fdump-tree-fre1-details" } */
 int t(int a) __attribute__ ((const));
 void q (void);
 void
@@ -12,5 +12,5 @@ threading(int a,int b)
        }
 }
 /* We should thread the jump twice and eliminate it.  */
-/* { dg-final { scan-tree-dump-times "Replaced.* t " 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Replaced.* t " 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index b9ec6bc720f7ce752c260bcc7dc3352681fd407d..2c859d5e850969497e9fc657ebce167898f759f4 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 /* From PR27090.  */
 
@@ -11,5 +11,5 @@ int f(int *a)
   return *c + t;
 }
 
-/* { dg-final { scan-tree-dump "Replaced \\\*a_\[^\n\].*with t_" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*c_\[^\n\].*with t_" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 50bb5d9606645ae98c7699cd7ad35cd72412ae81..7bef07caff668c154e98a17a324494bb4a255144 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 struct
 {
@@ -22,5 +22,5 @@ foo (int y)
   return (x);
 }
 
-/* { dg-final { scan-tree-dump "Replaced S\\\[5\\\].x with 4" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced S\\\[5\\\].x with 4" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 50bb5d9606645ae98c7699cd7ad35cd72412ae81..7bef07caff668c154e98a17a324494bb4a255144 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 struct
 {
@@ -22,5 +22,5 @@ foo (int y)
   return (x);
 }
 
-/* { dg-final { scan-tree-dump "Replaced S\\\[5\\\].x with 4" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced S\\\[5\\\].x with 4" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 972e6c69ef9f97391e1141187742a668647252f2..cfb72b8bcc5559f7e2525f07efeaf338559140a6 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fstrict-aliasing -fno-tree-sra -fdump-tree-fre-details" } */
+/* { dg-options "-O -fstrict-aliasing -fno-tree-sra -fdump-tree-fre1-details" } */
 
 /* Should be optimized, propagating &a into (*p)[i].  */
 
@@ -23,5 +23,5 @@ void foo(double (*q)[4], struct Foo *tmp1)
     }
 }
 
-/* { dg-final { scan-tree-dump "Replaced tmp1_.\\\(D\\\)->data with &a" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced tmp1_.\\\(D\\\)->data with &a" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 9d1b3f2ba92de5a413c2d36afcd6f3ada014af1a..2b677d5b598a9300f62b7f5fd6dc044ce3548750 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre-details" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details" } */
 
 /* Should be optimized, propagating &a into (*p)[i].  */
 
@@ -27,5 +27,5 @@ void foo(double (*q)[4])
   bar(a);
 }
 
-/* { dg-final { scan-tree-dump "Replaced tmp1.data with &a" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced tmp1.data with &a" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index d24cd1e4c38b9c87776a77e88ec8999ba17f4616..f24d0f6ab64bfcb862f296d71613fb65ed01473d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre-details" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details" } */
 
 /* Should be optimized, propagating &a into (*p)[i].  */
 
@@ -26,5 +26,5 @@ void foo(double (*q)[4])
   bar(a);
 }
 
-/* { dg-final { scan-tree-dump "Replaced" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 56d85e58e7f994a3e10052e114a03610862168fa..fa5f3719a251fb11fd4b4f6fe5044336119ef5a8 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre" } */
+/* { dg-options "-O -fdump-tree-fre1" } */
 
 /* FRE should be able to combine i and j and perform simplification
    on the condition.  */
@@ -14,5 +14,5 @@ int foo(int b, int c)
     link_error ();
 }
 
-/* { dg-final { scan-tree-dump-not "link_error" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-not "link_error" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index aced64977eaf76b3cbb5c2b871a498d0a8a4af9e..01f57ed7e5cd5e529445f7cd04c62ad086a7cfe9 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details -fno-tree-sra" } */
+/* { dg-options "-O -fdump-tree-fre1-details -fno-tree-sra" } */
 
 struct Bar {
   int dom;
@@ -18,6 +18,6 @@ int foo(int i, int j, int k)
   return f.doms[0LL].dom;
 }
 
-/* { dg-final { scan-tree-dump "Replaced f.doms\\\[0\\\].dom with i_" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced f.doms\\\[0\\\].dom with i_" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
 
index 392b1f6cf7df91c2f682bee105dbd946e925ebe7..986fe0781ae754a33940017d4cdd82d50d1beed5 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre" } */
+/* { dg-options "-O -fdump-tree-fre1" } */
 
 struct a
 {
@@ -24,5 +24,5 @@ int f(struct a *c)
 
 /* We should have CSEd the load from c->a.  */
 
-/* { dg-final { scan-tree-dump-times "c_.*\\\.a" 1 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "c_.*\\\.a" 1 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 688fe86403e89f4fac2945fb257b725342133a15..c121832de63c5c33312c83b1966034ccaa5c244f 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre" } */
+/* { dg-options "-O -fdump-tree-fre1" } */
 
 struct a
 {
@@ -27,5 +27,5 @@ int f(struct a *c)
 
 /* We should have CSEd the load from c->a.  */
 
-/* { dg-final { scan-tree-dump-times "c_.*\\\.a" 1 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "c_.*\\\.a" 1 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index d1eabf69bae5b5059f629ac385fb2e7049d31910..9bf9525d50251dcf0add5ae53920fec4ebf0fad7 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 /* From PR14287.  */
 
@@ -14,5 +14,5 @@ foo (long a)
   h = c;
 }
 
-/* { dg-final { scan-tree-dump "Replaced \\\(short int\\\) c_.*with b_" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\(short int\\\) c_.*with b_" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index aadf32e21bd6c1027991b4c16a234690e05b479c..219c0a926a63c65657e8f40db57552905977a0ea 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre" } */
+/* { dg-options "-O -fdump-tree-fre1" } */
 
 struct f {
   float a;
@@ -22,5 +22,5 @@ void g(void)
   h(a1, b, c, d);
 }
 
-/* { dg-final { scan-tree-dump-not "a\\\.? = " "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-not "a\\\.? = " "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index ce311b68b9ee4e0eabff9c7ea35668ac1a76f417..3504d1041e9f67ced6999a0588a86554dbaa6738 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre" } */
+/* { dg-options "-O -fdump-tree-fre1" } */
 
 int i;
 int foo (void)
@@ -11,5 +11,5 @@ int foo (void)
 
 /* We should eliminate the redundant load of i.  */
 
-/* { dg-final { scan-tree-dump-not "= i;" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-not "= i;" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 491836d28ef63eac002f660809cb35161d6d6929..f21360824cdf2ae1303519a6014cf42e66972756 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre" } */
+/* { dg-options "-O -fdump-tree-fre1" } */
 
 int f(int t, int a, int b)
 {
@@ -17,5 +17,5 @@ int f(int t, int a, int b)
   return c+d;
 }
 
-/* { dg-final { scan-tree-dump-times "PHI" 1 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "PHI" 1 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 705993a4fb3ed0d600b4017fc57c6baa2b78b549..c683218799df50ee9b61c35e63dbf6fb4739e147 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1" } */
 
 int foo(void)
 {
@@ -30,5 +30,5 @@ int bazzoo (void)
   return b.i;
 }
 
-/* { dg-final { scan-tree-dump-times "= 0;" 5 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "= 0;" 5 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index f7f99bf74f5de19f7c1253297f2fd63d7a20bad5..e7723f9bc35b664bd8cb1d8d79dbafc9957efb04 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1" } */
 
 struct X { int i; int j; };
 void bar (struct X *);
@@ -14,5 +14,5 @@ int foo (struct X *p)
 
 /* We should optimize this to return 0.  */
 
-/* { dg-final { scan-tree-dump "= 0;" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "= 0;" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 2b8e8e063d4702684573246372368faae215a85c..81d9ea0fa8ed81e859b52e90646b3835111be46b 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre-details" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details" } */
 
 union U {
   float f;
@@ -15,5 +15,5 @@ int foo (union U *p)
 }
 
 /* avr has 16 bit int and 32 bit float */
-/* { dg-final { scan-tree-dump "Replaced u.i with 0 in" "fre" {xfail avr-*-* } } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced u.i with 0 in" "fre1" {xfail avr-*-* } } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 39368707ce998a86d2836e46289b15588b6779b5..ba0710171f2a38c4f3be81a56d0af2b5de01aeff 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 int *q;
 void __attribute__((noinline))
@@ -21,5 +21,5 @@ int foo(int which_p)
   return x;
 }
 
-/* { dg-final { scan-tree-dump "Replaced x with 0" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced x with 0" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 85e444886d05166fdd16c9cc7402afa12dfd353e..e68c9eb7bc43f92e01cbb47e2d0927e9e6390612 100644 (file)
@@ -6,7 +6,7 @@
    When the condition is true, we distribute "(int) (a + b)" as
    "(int) a + (int) b", otherwise we keep the original.  */
 /* { dg-do compile { target { { ! mips64 } && { ! spu-*-* } } } } */
-/* { dg-options "-O -fwrapv -fdump-tree-fre-details" } */
+/* { dg-options "-O -fwrapv -fdump-tree-fre1-details" } */
 
 /* From PR14844.  */
 
@@ -18,5 +18,5 @@ foo (int a, int b)
   return aa + bb;
 }
 
-/* { dg-final { scan-tree-dump "Replaced \\\(int\\\) aa_.*with a_" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\(int\\\) aa_.*with a_" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index ca8d4c96bb7ad4c96e7a6d86b5cbb2c6ed5769bf..b69b3f654d1fb77f53ce10b4f99b39ddeb5b04e2 100644 (file)
@@ -1,7 +1,7 @@
 /* If the target returns false for TARGET_PROMOTE_PROTOTYPES, then there
    will be no casts for FRE to eliminate and the test will fail.  */
 /* { dg-do compile { target i?86-*-* x86_64-*-* hppa*-*-* mips*-*-* m68k*-*-* } } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 /* From PR21608.  */
 
@@ -11,5 +11,5 @@ char bar(char f)
         return wrap(f);
 }
 
-/* { dg-final { scan-tree-dump "Replaced \\\(char\\\) .*with " "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\(char\\\) .*with " "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 7ef20c2214d01fa54e029832936fde372d221138..2685d91b12e68d021430c33797373877c7cd8b5b 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 /* From PR19792.  */
 
@@ -10,5 +10,5 @@ bar (unsigned int t)
   return a == t;
 }
 
-/* { dg-final { scan-tree-dump "Replaced \\\(unsigned int\\\) a_.*with t_" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\(unsigned int\\\) a_.*with t_" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 6963c1ce483c08bdde88fd982ab5c9a744f1d1a4..65883cd14bdd23fbbceffaea80cb1f30bf505c5f 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
  int i; int foo(void) { i = 2; int j = i * 2; int k = i + 2; return j == k; }
-/* { dg-final { scan-tree-dump-times "Replaced " 5 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Replaced " 5 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 895c05fdf91a733dae79d48ba139ee11dffab541..a758efe5dda540e3e759f31ba2fca87545e062aa 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre-details -fdump-tree-optimized" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details -fdump-tree-optimized" } */
 #if (__SIZEOF_INT__ == __SIZEOF_FLOAT__)
 typedef int intflt;
 #elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
@@ -29,10 +29,10 @@ intflt foo(intflt j)
   return a.u.k;
 }
 
-/* { dg-final { scan-tree-dump-times "Inserted pretmp" 1 "fre" } } */
-/* { dg-final { scan-tree-dump-times "Replaced a.u.f with pretmp" 3 "fre" } } */
-/* { dg-final { scan-tree-dump-times "Replaced a.u.k with j" 1 "fre" } } */
-/* { dg-final { scan-tree-dump "= VIEW_CONVERT_EXPR<float>\\\(j_" "fre" } } */
+/* { dg-final { scan-tree-dump-times "Inserted pretmp" 1 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "Replaced a.u.f with pretmp" 3 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "Replaced a.u.k with j" 1 "fre1" } } */
+/* { dg-final { scan-tree-dump "= VIEW_CONVERT_EXPR<float>\\\(j_" "fre1" } } */
 /* { dg-final { scan-tree-dump "return j" "optimized" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
 /* { dg-final { cleanup-tree-dump "optimized" } } */
index bc9f8e3992e8e4c49b93efda3b4b11c041f16b38..d6ab2ef247f811c5c339ddcfbcfd3c2977c13f48 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre-details" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details" } */
 #if (__SIZEOF_INT__ == __SIZEOF_FLOAT__)
 typedef int intflt;
 #elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
@@ -28,6 +28,6 @@ intflt foo(int i, int b)
     }
 }
 
-/* { dg-final { scan-tree-dump-times "Replaced u.f with pretmp" 2 "fre" } } */
-/* { dg-final { scan-tree-dump-times "Inserted pretmp" 2 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Replaced u.f with pretmp" 2 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "Inserted pretmp" 2 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index c8a434a2bba8a32a38285ef928cd309941330662..57c6d4b5be7f7aa3d6d6dd7ccad4c569df63a17a 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre-stats" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-stats" } */
 
 union loc {
     unsigned reg;
@@ -23,6 +23,6 @@ void __frame_state_for1 (volatile char *state_in)
     }
 }
 
-/* { dg-final { scan-tree-dump-times "Eliminated: 1" 2 "fre" } } */
-/* { dg-final { scan-tree-dump-times "Insertions: 1" 2 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 1" 2 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "Insertions: 1" 2 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 41af344989a86d479a73a6ec3cf8374c66845a4f..8cb1bebde43b1da970d24c09ed3356f180468bea 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats" } */
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats -fno-finite-math-only" { target sh*-*-* } } */
+/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre1-stats" } */
+/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre1-stats -fno-finite-math-only" { target sh*-*-* } } */
 double cos (double);
 void link_error();
 void f(double a)
@@ -11,5 +11,5 @@ void f(double a)
     link_error();
 }
 
-/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index b986bdd92a9f1955292a8ff6fef6806b227775f8..7342c3361a83389f4265be2c13fe64d0df36b8e9 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-fre-details" } */
+/* { dg-options "-O -fdump-tree-fre1-details" } */
 
 typedef union
 {
@@ -23,5 +23,5 @@ void foo(SA* pResult, SB* method, SC* self)
     pResult->data = pResult->data;
 }
 
-/* { dg-final { scan-tree-dump "Deleted redundant store" "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Deleted redundant store" "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index f87476a3a9f323cc12c81f802dda0b803720fd2a..bc7ca4e68e40b24858a0e73a9c96d3e7a1443a0a 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre1-stats" } */
 int
 foo (int *array)
 {
@@ -8,5 +8,5 @@ foo (int *array)
       return 0;
 }
 /* We should eliminate one load.  */
-/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index ae933bbccec6d1957525cd31f729cd7531fa837c..f08ef7fde60040a75088453180adfe78c47fa836 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre1-stats" } */
 struct s {
       int *n;
 };
@@ -19,5 +19,5 @@ foo (__SIZE_TYPE__ i, struct s *array)
 /* We should eliminate two address calculations, and one load.  */
 /* We used to eliminate a cast but that was before POINTER_PLUS_EXPR
    was added.  */
-/* { dg-final { scan-tree-dump-times "Eliminated: 3" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 3" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 30d968b7c536f927000d6b116354948bb685170b..4f88624ae19cd4da247b3bbcbf80f4315e9c004d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre1-stats" } */
 int
 foo (unsigned long a)
 {
@@ -9,5 +9,5 @@ foo (unsigned long a)
     return 1;
   return 0;
 }
-/* { dg-final { scan-tree-dump-times "return 0;" 0 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "return 0;" 0 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 65cd83d7cded5f0b2d17bdca80a899326e110ecd..0cb027222fb4bab03fa4e6a3b3fd7076d8e7e18e 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fdump-tree-fre1-stats" } */
 
 void vnum_test8(int *data) 
 { 
@@ -17,5 +17,5 @@ void vnum_test8(int *data)
   } 
 } 
 /* We should eliminate m - n, and set n = n + k into n = m. */
-/* { dg-final { scan-tree-dump-times "Eliminated: 3" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 3" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index cc3661cc6d78ca3c028349505ddb1d6b1fba94c4..b4c3c14a26516427a10ab42f61c7a21e4a19e5ce 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fdump-tree-fre1-stats" } */
 
 int vnum_test8(int *data) 
 { 
@@ -21,5 +21,5 @@ int vnum_test8(int *data)
 } 
 /* We should eliminate m - n, and set n = n + k into n = m, and
    set p to 0 */
-/* { dg-final { scan-tree-dump-times "Eliminated: 4" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 4" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index b80a8dc3bba7ad12ae274f08ac39b7bb3187b2f2..fb266bb5417c783b6b0e9b4594f322dd8b0985d3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fdump-tree-fre1-stats" } */
 int main(int argc, char **argv)
 {
   int *p;
@@ -11,5 +11,5 @@ int main(int argc, char **argv)
   return result;
 }
 /* We should eliminate result = *p by saying it has the value 2.  */
-/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 7caf4eec6f8f948ee6dbe990f7cd8ecfdf100ee0..7f0a932973722d594372ed88b7f0464dc068176b 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ 
-/* { dg-options "-O2 -fdump-tree-fre-stats" } */
+/* { dg-options "-O2 -fdump-tree-fre1-stats" } */
 
 int vnum_test8(int *data) 
 { 
@@ -23,5 +23,5 @@ int vnum_test8(int *data)
 } 
 /* We should eliminate m - n, n + k, set data[5] = 0, eliminate the
    address arithmetic for data[5], and set p = 0.
-/* { dg-final { scan-tree-dump-times "Eliminated: 5" 1 "fre"} } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 5" 1 "fre1"} } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 87b44b530ec9e74477760a242ff196b7f4db18ff..495b7ba114e46ea6b6e84d8e7b381fadee9c060a 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-fre-details" } */
+/* { dg-options "-O2 -fdump-tree-fre1-details" } */
 
 struct S { float f; };
 int __attribute__((noinline))
@@ -11,5 +11,5 @@ foo (float *r, struct S *p)
   return i + *q;
 }
 
-/* { dg-final { scan-tree-dump "Replaced\[^\n\]*with i_." "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump "Replaced\[^\n\]*with i_." "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
index 5acf083c71e94d7bbf74e1bc6a929e31233bdf5a..c348bdfe25b26b2d82761bc3a0700a20135f57e2 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-fre" } */
+/* { dg-options "-O2 -fdump-tree-fre1" } */
 
 struct S { unsigned f; };
 
@@ -14,6 +14,6 @@ foo ( struct S *p)
 
 /* There should only be one load of p->f because fwprop can change
    *(int *)&p->f into just (int)p->f.  */
-/* { dg-final { scan-tree-dump-times "= \[^\n\]*p_.\\\(D\\\)" 1 "fre" } } */
-/* { dg-final { cleanup-tree-dump "fre" } } */
+/* { dg-final { scan-tree-dump-times "= \[^\n\]*p_.\\\(D\\\)" 1 "fre1" } } */
+/* { dg-final { cleanup-tree-dump "fre1" } } */
 
index e97dc3756f8c503892b00ee46a43d6295fb3ea1b..9a0a2532a78764635c4cf400a3a2fa487e41f493 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-! { dg-options "-O2 -fdump-tree-fre" }
+! { dg-options "-O2 -fdump-tree-fre1" }
 
 subroutine  eval(foo1,foo2,foo3,foo4,x,n,nnd)
   implicit real*8 (a-h,o-z)
@@ -23,5 +23,5 @@ end subroutine eval
 
 ! There should be only one load from n left
 
-! { dg-final { scan-tree-dump-times "\\*n_" 1 "fre" } }
-! { dg-final { cleanup-tree-dump "fre" } }
+! { dg-final { scan-tree-dump-times "\\*n_" 1 "fre1" } }
+! { dg-final { cleanup-tree-dump "fre1" } }