diff options
author | Richard Biener <rguenther@suse.de> | 2017-01-17 08:24:26 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-01-17 08:24:26 +0000 |
commit | a23e48df4514c4f40e832f196b1b50b1e5010bd2 (patch) | |
tree | 12377573e0abcba47c8f273fac18b588da3254d4 /gcc | |
parent | b2bcb1b3c9d6b6eca558fddb9ec66d2a431cbbf9 (diff) | |
download | gcc-a23e48df4514c4f40e832f196b1b50b1e5010bd2.zip gcc-a23e48df4514c4f40e832f196b1b50b1e5010bd2.tar.gz gcc-a23e48df4514c4f40e832f196b1b50b1e5010bd2.tar.bz2 |
re PR testsuite/52563 (FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimized "&a" 1)
2017-01-17 Richard Biener <rguenther@suse.de>
PR testsuite/52563
PR testsuite/71237
PR testsuite/77737
* gcc.dg/tree-ssa/scev-3.c: Re-write to a GIMPLE testcase for IVOPTs.
* gcc.dg/tree-ssa/scev-4.c: Likewise.
* gcc.dg/tree-ssa/scev-5.c: Likewise.
From-SVN: r244519
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/scev-3.c | 43 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/scev-4.c | 47 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/scev-5.c | 43 |
4 files changed, 113 insertions, 29 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c00a050..add78e2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2017-01-17 Richard Biener <rguenther@suse.de> + + PR testsuite/52563 + PR testsuite/71237 + PR testsuite/77737 + * gcc.dg/tree-ssa/scev-3.c: Re-write to a GIMPLE testcase for IVOPTs. + * gcc.dg/tree-ssa/scev-4.c: Likewise. + * gcc.dg/tree-ssa/scev-5.c: Likewise. + 2017-01-17 Alan Modra <amodra@gmail.com> * gcc.target/powerpc/pr79066.c: New. diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c b/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c index 1346f26..fed1011 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c @@ -1,18 +1,43 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */ int *a_p; int a[1000]; -void -f(int k) +void __GIMPLE (startwith ("loop")) +f (int k) { - int i; + int i; + int * _1; + +bb_2: + i_5 = k_4(D); + if (i_5 <= 999) + goto bb_4; + else + goto bb_3; + +bb_3: + return; + +bb_4: + ; + +bb_5: + i_12 = __PHI (bb_6: i_9, bb_4: i_5); + _1 = &a[i_12]; + a_p = _1; + __MEM <int[1000]> ((int *)&a)[i_12] = 100; + i_9 = i_5 + i_12; + if (i_9 <= 999) + goto bb_6; + else + goto bb_3; + +bb_6: + ; + goto bb_5; - for (i=k; i<1000; i+=k) { - a_p = &a[i]; - *a_p = 100; - } } -/* { dg-final { scan-tree-dump-times "&a" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c b/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c index 99d0337..94ebfae 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c @@ -1,23 +1,48 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */ typedef struct { - int x; - int y; + int x; + int y; } S; int *a_p; S a[1000]; -void -f(int k) +void __GIMPLE (startwith ("loop")) +f (int k) { - int i; + int i; + int * _1; + +bb_2: + i_5 = k_4(D); + if (i_5 <= 999) + goto bb_4; + else + goto bb_3; + +bb_3: + return; + +bb_4: + ; + +bb_5: + i_12 = __PHI (bb_6: i_9, bb_4: i_5); + _1 = &a[i_12].y; + a_p = _1; + __MEM <S[1000]> ((int *)&a)[i_12].y = 100; + i_9 = i_5 + i_12; + if (i_9 <= 999) + goto bb_6; + else + goto bb_3; + +bb_6: + ; + goto bb_5; - for (i=k; i<1000; i+=k) { - a_p = &a[i].y; - *a_p = 100; - } } -/* { dg-final { scan-tree-dump-times "&a" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c b/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c index 3f4a9cd..8cced51 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c @@ -1,18 +1,43 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */ int *a_p; int a[1000]; -void -f(int k) +void __GIMPLE (startwith ("loop")) +f (int k) { - long long i; + long long int i; + int * _1; + +bb_2: + i_5 = (long long int) k_4(D); + if (i_5 <= 999ll) + goto bb_4; + else + goto bb_3; + +bb_3: + return; + +bb_4: + ; + +bb_5: + i_12 = __PHI (bb_6: i_9, bb_4: i_5); + _1 = &a[i_12]; + a_p = _1; + __MEM <int[1000]> ((int *)&a)[i_12] = 100; + i_9 = i_5 + i_12; + if (i_9 <= 999ll) + goto bb_6; + else + goto bb_3; + +bb_6: + ; + goto bb_5; - for (i=k; i<1000; i+=k) { - a_p = &a[i]; - *a_p = 100; - } } -/* { dg-final { scan-tree-dump-times "&a" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" } } */ |