Replace pass_fre with pass_copy_prop in kernels pass group
2015-07-28 Tom de Vries <tom@codesourcery.com>
* passes.def: Replace pass_fre with pass_copy_prop in oacc kernels pass
group.
* g++.dg/ipa/devirt-37.C: Update for removal of pass_fre.
* g++.dg/ipa/devirt-40.C: Same.
* g++.dg/tree-ssa/pr61034.C: Same.
* gcc.dg/ipa/ipa-pta-13.c: Same.
* gcc.dg/ipa/ipa-pta-3.c: Same.
* gcc.dg/ipa/ipa-pta-4.c: Same.
---
gcc/passes.def | 4 +---
gcc/testsuite/g++.dg/ipa/devirt-37.C | 10 +++++-----
gcc/testsuite/g++.dg/ipa/devirt-40.C | 4 ++--
gcc/testsuite/g++.dg/tree-ssa/pr61034.C | 8 ++++----
gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c | 4 ++--
gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c | 4 ++--
gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c | 4 ++--
7 files changed, 18 insertions(+), 20 deletions(-)
@@ -95,9 +95,7 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_ch_oacc_kernels);
NEXT_PASS (pass_tree_loop_init);
NEXT_PASS (pass_lim);
- NEXT_PASS (pass_tree_loop_done);
- NEXT_PASS (pass_fre);
- NEXT_PASS (pass_tree_loop_init);
+ NEXT_PASS (pass_copy_prop);
NEXT_PASS (pass_scev_cprop);
NEXT_PASS (pass_parallelize_loops_oacc_kernels);
NEXT_PASS (pass_expand_omp_ssa);
@@ -1,4 +1,4 @@
-/* { dg-options "-fpermissive -O2 -fno-indirect-inlining -fno-devirtualize-speculatively -fdump-tree-fre3-details -fno-early-inlining" } */
+/* { dg-options "-fpermissive -O2 -fno-indirect-inlining -fno-devirtualize-speculatively -fdump-tree-fre2-details -fno-early-inlining" } */
#include <stdlib.h>
struct A {virtual void test() {abort ();}};
struct B:A
@@ -30,7 +30,7 @@ t()
/* After inlining the call within constructor needs to be checked to not go into a basetype.
We should see the vtbl store and we should notice extcall as possibly clobbering the
type but ignore it because b is in static storage. */
-/* { dg-final { scan-tree-dump "No dynamic type change found." "fre3" } } */
-/* { dg-final { scan-tree-dump "Checking vtbl store:" "fre3" } } */
-/* { dg-final { scan-tree-dump "Function call may change dynamic type:extcall" "fre3" } } */
-/* { dg-final { scan-tree-dump "converting indirect call to function virtual void" "fre3" } } */
+/* { dg-final { scan-tree-dump "No dynamic type change found." "fre2" } } */
+/* { dg-final { scan-tree-dump "Checking vtbl store:" "fre2" } } */
+/* { dg-final { scan-tree-dump "Function call may change dynamic type:extcall" "fre2" } } */
+/* { dg-final { scan-tree-dump "converting indirect call to function virtual void" "fre2" } } */
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fdump-tree-fre3-details" } */
+/* { dg-options "-O2 -fdump-tree-fre2-details" } */
typedef enum
{
} UErrorCode;
@@ -19,4 +19,4 @@ A::m_fn1 (UnicodeString &, int &p2, UErrorCode &) const
UnicodeString a[2];
}
-/* { dg-final { scan-tree-dump-not "\\n OBJ_TYPE_REF" "fre3" } } */
+/* { dg-final { scan-tree-dump-not "\\n OBJ_TYPE_REF" "fre2" } } */
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-O3 -fdump-tree-fre3" }
+// { dg-options "-O3 -fdump-tree-fre2" }
#define assume(x) if(!(x))__builtin_unreachable()
@@ -42,6 +42,6 @@ bool f(I a, I b, I c, I d) {
// a bunch of conditional free()s and unreachable()s.
// This works only if everything is inlined into 'f'.
-// { dg-final { scan-tree-dump-times ";; Function" 1 "fre3" } }
-// { dg-final { scan-tree-dump-times "free" 18 "fre3" } }
-// { dg-final { scan-tree-dump-times "unreachable" 11 "fre3" } }
+// { dg-final { scan-tree-dump-times ";; Function" 1 "fre2" } }
+// { dg-final { scan-tree-dump-times "free" 18 "fre2" } }
+// { dg-final { scan-tree-dump-times "unreachable" 11 "fre2" } }
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre3 -fno-ipa-icf" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2 -fno-ipa-icf" } */
static int x, y;
@@ -54,7 +54,7 @@ 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;" "fre3" } } */
+ /* { dg-final { scan-tree-dump " = x;" "fre2" } } */
return x;
}
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre3-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,4 +23,4 @@ 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_2\\\(D\\\) with 1" "fre3" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre2" } } */
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre3-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2-details" } */
int a, b;
@@ -28,4 +28,4 @@ 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_2\\\(D\\\) with 1" "fre3" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre2" } } */
--
1.9.1