aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-01-17 08:24:26 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-01-17 08:24:26 +0000
commita23e48df4514c4f40e832f196b1b50b1e5010bd2 (patch)
tree12377573e0abcba47c8f273fac18b588da3254d4 /gcc
parentb2bcb1b3c9d6b6eca558fddb9ec66d2a431cbbf9 (diff)
downloadgcc-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/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/scev-3.c43
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/scev-4.c47
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/scev-5.c43
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" } } */