[gomp4] Update test cases for new pass_fre (was: r223849 - in /branches/gomp-4_0-branch: gcc/Cha...)

Thomas Schwinge thomas@codesourcery.com
Mon Jun 1 09:19:00 GMT 2015


Hi!

On Thu, 28 May 2015 21:24:04 -0000, vries@gcc.gnu.org wrote:
> Author: vries
> Date: Thu May 28 21:24:04 2015
> New Revision: 223849
> 
> URL: https://gcc.gnu.org/viewcvs?rev=223849&root=gcc&view=rev
> Log:
> Only use transform_to_exit_first_loop_alt for kernels
> 
> 2015-05-28  Tom de Vries  <tom@codesourcery.com>
> 
> 	* passes.def: Replace pass_copy_prop with pass_fre. Surround with
> 	pass_tree_loop_done and pass_tree_loop_init.
> 	* [...]

Committed to gomp-4_0-branch in r223923:

commit 01fa2e1461b3133d001fe7a763b6b3f8df5c8de2
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Jun 1 09:15:43 2015 +0000

    Update test cases for new pass_fre
    
    ... that has been added in 223849.  This resolves the following regressions:
    
        XFAIL: gcc.dg/ipa/ipa-pta-13.c scan-ipa-dump pta "local_address_taken.arg0 = { ESCAPED NONLOCAL y x }"
        XFAIL: gcc.dg/ipa/ipa-pta-13.c scan-ipa-dump pta "local_address_taken.clobber = { ESCAPED NONLOCAL y x }"
        XFAIL: gcc.dg/ipa/ipa-pta-13.c scan-ipa-dump pta "local_address_taken.use = { }"
        [-PASS:-]{+UNRESOLVED:+} gcc.dg/ipa/ipa-pta-13.c scan-tree-dump fre3 " = x;"
    
        PASS: gcc.dg/ipa/ipa-pta-3.c execution test
        PASS: gcc.dg/ipa/ipa-pta-3.c scan-ipa-dump pta "foo.arg0 = &a"
        PASS: gcc.dg/ipa/ipa-pta-3.c scan-ipa-dump pta "foo.arg1 = &b"
        [-PASS:-]{+UNRESOLVED:+} gcc.dg/ipa/ipa-pta-3.c scan-tree-dump fre3 "Replaced \\*p_2\\(D\\) with 1"
    
        PASS: gcc.dg/ipa/ipa-pta-4.c execution test
        PASS: gcc.dg/ipa/ipa-pta-4.c scan-ipa-dump pta "foo.arg0 = &a"
        PASS: gcc.dg/ipa/ipa-pta-4.c scan-ipa-dump pta "foo.arg1 = &b"
        [-PASS:-]{+UNRESOLVED:+} gcc.dg/ipa/ipa-pta-4.c scan-tree-dump fre3 "Replaced \\*p_2\\(D\\) with 1"
    
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++11  scan-tree-dump fre3 "Checking vtbl store:"
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++11  scan-tree-dump fre3 "Function call may change dynamic type:extcall"
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++11  scan-tree-dump fre3 "No dynamic type change found."
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++11  scan-tree-dump fre3 "converting indirect call to function virtual void"
        PASS: g++.dg/ipa/devirt-37.C  -std=gnu++11 (test for excess errors)
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++14  scan-tree-dump fre3 "Checking vtbl store:"
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++14  scan-tree-dump fre3 "Function call may change dynamic type:extcall"
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++14  scan-tree-dump fre3 "No dynamic type change found."
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++14  scan-tree-dump fre3 "converting indirect call to function virtual void"
        PASS: g++.dg/ipa/devirt-37.C  -std=gnu++14 (test for excess errors)
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++98  scan-tree-dump fre3 "Checking vtbl store:"
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++98  scan-tree-dump fre3 "Function call may change dynamic type:extcall"
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++98  scan-tree-dump fre3 "No dynamic type change found."
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-37.C  -std=gnu++98  scan-tree-dump fre3 "converting indirect call to function virtual void"
        PASS: g++.dg/ipa/devirt-37.C  -std=gnu++98 (test for excess errors)
    
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-40.C  -std=gnu++11  scan-tree-dump-not fre3 "\\n  OBJ_TYPE_REF"
        PASS: g++.dg/ipa/devirt-40.C  -std=gnu++11 (test for excess errors)
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-40.C  -std=gnu++14  scan-tree-dump-not fre3 "\\n  OBJ_TYPE_REF"
        PASS: g++.dg/ipa/devirt-40.C  -std=gnu++14 (test for excess errors)
        [-PASS:-]{+UNRESOLVED:+} g++.dg/ipa/devirt-40.C  -std=gnu++98  scan-tree-dump-not fre3 "\\n  OBJ_TYPE_REF"
        PASS: g++.dg/ipa/devirt-40.C  -std=gnu++98 (test for excess errors)
    
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++11  scan-tree-dump-times fre3 ";; Function" 1
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++11  scan-tree-dump-times fre3 "free" 18
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++11  scan-tree-dump-times fre3 "unreachable" 11
        PASS: g++.dg/tree-ssa/pr61034.C  -std=gnu++11 (test for excess errors)
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++14  scan-tree-dump-times fre3 ";; Function" 1
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++14  scan-tree-dump-times fre3 "free" 18
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++14  scan-tree-dump-times fre3 "unreachable" 11
        PASS: g++.dg/tree-ssa/pr61034.C  -std=gnu++14 (test for excess errors)
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++98  scan-tree-dump-times fre3 ";; Function" 1
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++98  scan-tree-dump-times fre3 "free" 18
        [-PASS:-]{+UNRESOLVED:+} g++.dg/tree-ssa/pr61034.C  -std=gnu++98  scan-tree-dump-times fre3 "unreachable" 11
        PASS: g++.dg/tree-ssa/pr61034.C  -std=gnu++98 (test for excess errors)
    
    	gcc/testsuite/
    	* g++.dg/ipa/devirt-37.C: Look at "fre4" instead of "fre3".
    	* g++.dg/ipa/devirt-40.C: Likewise.
    	* g++.dg/tree-ssa/pr61034.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.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@223923 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/testsuite/ChangeLog.gomp            |    9 +++++++++
 gcc/testsuite/g++.dg/ipa/devirt-37.C    |   12 ++++++------
 gcc/testsuite/g++.dg/ipa/devirt-40.C    |    6 +++---
 gcc/testsuite/g++.dg/tree-ssa/pr61034.C |   10 +++++-----
 gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c   |    6 +++---
 gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c    |    6 +++---
 gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c    |    6 +++---
 7 files changed, 32 insertions(+), 23 deletions(-)

diff --git gcc/testsuite/ChangeLog.gomp gcc/testsuite/ChangeLog.gomp
index baec211..fa5100c 100644
--- gcc/testsuite/ChangeLog.gomp
+++ gcc/testsuite/ChangeLog.gomp
@@ -1,3 +1,12 @@
+2015-06-01  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* g++.dg/ipa/devirt-37.C: Look at "fre4" instead of "fre3".
+	* g++.dg/ipa/devirt-40.C: Likewise.
+	* g++.dg/tree-ssa/pr61034.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.
+
 2015-05-28  Tom de Vries  <tom@codesourcery.com>
 
 	* c-c++-common/goacc/kernels-counter-vars-function-scope.c: Add check
diff --git gcc/testsuite/g++.dg/ipa/devirt-37.C gcc/testsuite/g++.dg/ipa/devirt-37.C
index eb2c7f2..5b77343 100644
--- gcc/testsuite/g++.dg/ipa/devirt-37.C
+++ gcc/testsuite/g++.dg/ipa/devirt-37.C
@@ -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-fre4-details -fno-early-inlining"  } */
 #include <stdlib.h>
 struct A {virtual void test() {abort ();}};
 struct B:A
@@ -30,8 +30,8 @@ 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 { cleanup-tree-dump "fre3" } } */
+/* { dg-final { scan-tree-dump "No dynamic type change found."  "fre4"  } } */
+/* { dg-final { scan-tree-dump "Checking vtbl store:"  "fre4"  } } */
+/* { dg-final { scan-tree-dump "Function call may change dynamic type:extcall"  "fre4"  } } */
+/* { dg-final { scan-tree-dump "converting indirect call to function virtual void"  "fre4"  } } */
+/* { dg-final { cleanup-tree-dump "fre4" } } */
diff --git gcc/testsuite/g++.dg/ipa/devirt-40.C gcc/testsuite/g++.dg/ipa/devirt-40.C
index 7e4ae7c..86f6f25 100644
--- gcc/testsuite/g++.dg/ipa/devirt-40.C
+++ gcc/testsuite/g++.dg/ipa/devirt-40.C
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fdump-tree-fre3-details"  } */
+/* { dg-options "-O2 -fdump-tree-fre4-details"  } */
 typedef enum
 {
 } UErrorCode;
@@ -19,5 +19,5 @@ A::m_fn1 (UnicodeString &, int &p2, UErrorCode &) const
   UnicodeString a[2];
 }
 
-/* { dg-final { scan-tree-dump-not "\\n  OBJ_TYPE_REF" "fre3"  } } */
-/* { dg-final { cleanup-tree-dump "fre3" } } */
+/* { dg-final { scan-tree-dump-not "\\n  OBJ_TYPE_REF" "fre4"  } } */
+/* { dg-final { cleanup-tree-dump "fre4" } } */
diff --git gcc/testsuite/g++.dg/tree-ssa/pr61034.C gcc/testsuite/g++.dg/tree-ssa/pr61034.C
index 1ef1938..4a46bc4 100644
--- gcc/testsuite/g++.dg/tree-ssa/pr61034.C
+++ gcc/testsuite/g++.dg/tree-ssa/pr61034.C
@@ -1,5 +1,5 @@
 // { dg-do compile }
-// { dg-options "-O3 -fdump-tree-fre3" }
+// { dg-options "-O3 -fdump-tree-fre4" }
 
 #define assume(x) if(!(x))__builtin_unreachable()
 
@@ -42,7 +42,7 @@ 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 { cleanup-tree-dump "fre3" } }
+// { dg-final { scan-tree-dump-times ";; Function" 1 "fre4" } }
+// { dg-final { scan-tree-dump-times "free" 18 "fre4" } }
+// { dg-final { scan-tree-dump-times "unreachable" 11 "fre4" } }
+// { dg-final { cleanup-tree-dump "fre4" } }
diff --git gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
index 8d73900..7d0feb9 100644
--- gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
+++ gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
@@ -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-fre4 -fno-ipa-icf" } */
 
 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;" "fre3" } } */
+  /* { dg-final { scan-tree-dump " = x;" "fre4" } } */
   return x;
 }
 
 /* { dg-final { cleanup-ipa-dump "pta" } } */
-/* { dg-final { cleanup-tree-dump "fre3" } } */
+/* { dg-final { cleanup-tree-dump "fre4" } } */
diff --git gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
index 2398a21..ed0c40b 100644
--- gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
+++ gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
@@ -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-fre4-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_2\\\(D\\\) with 1" "fre3" } } */
-/* { dg-final { cleanup-tree-dump "fre3" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre4" } } */
+/* { dg-final { cleanup-tree-dump "fre4" } } */
 /* { dg-final { cleanup-ipa-dump "pta" } } */
diff --git gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
index b72489f..a0f68a0 100644
--- gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
+++ gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
@@ -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-fre4-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_2\\\(D\\\) with 1" "fre3" } } */
-/* { dg-final { cleanup-tree-dump "fre3" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre4" } } */
+/* { dg-final { cleanup-tree-dump "fre4" } } */
 /* { dg-final { cleanup-ipa-dump "pta" } } */


Grüße,
 Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150601/6e5d2c0a/attachment.sig>


More information about the Gcc-patches mailing list