diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr81192.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr81192.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/pr81192.c b/gcc/testsuite/gcc.dg/pr81192.c index 0049f37..71bbc13 100644 --- a/gcc/testsuite/gcc.dg/pr81192.c +++ b/gcc/testsuite/gcc.dg/pr81192.c @@ -1,4 +1,20 @@ -/* { dg-options "-Os -fdump-tree-pre-details" } */ +/* { dg-options "-Os -fdump-tree-pre-details -fdisable-tree-evrp" } */ + +/* Disable tree-evrp because the new version of evrp sees +<bb 3> : + if (j_8(D) != 2147483647) + goto <bb 4>; [50.00%] + else + goto <bb 5>; [50.00%] +<bb 4> : + iftmp.2_11 = j_8(D) + 1; +<bb 5> : + # iftmp.2_12 = PHI <j_8(D)(3), iftmp.2_11(4)> + +EVRP now recognizes a constant can be propagated into the 3->5 edge and +produces + # iftmp.2_12 = PHI <2147483647(3), iftmp.2_11(4)> +which causes the situation being tested to dissapear before we get to PRE. */ #if __SIZEOF_INT__ == 2 #define unsigned __UINT32_TYPE__ |