aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/graphite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/graphite')
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr71824-2.c34
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr71824-3.c19
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr71824.c17
3 files changed, 70 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824-2.c b/gcc/testsuite/gcc.dg/graphite/pr71824-2.c
new file mode 100644
index 00000000000..18176568d4a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr71824-2.c
@@ -0,0 +1,34 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-nest-optimize" } */
+
+typedef struct { float x1; } bx;
+typedef struct {
+ int w;
+ short o;
+} T2P;
+T2P a;
+int b;
+void fn2();
+void fn3(bx*,short);
+void fn1() {
+ unsigned i = 0;
+ int c;
+ bx *d;
+ bx **h;
+ if (b == 0) {
+ fn2();
+ return;
+ }
+ for (; c; c++)
+ for (; i < 100; i++) {
+ d = h[i];
+ d->x1 = a.w;
+ }
+ for (; i < 100; i++) {
+ d = h[i];
+ d->x1 = a.w;
+ }
+ if (a.o)
+ for (; b;)
+ fn3(d, a.o);
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824-3.c b/gcc/testsuite/gcc.dg/graphite/pr71824-3.c
new file mode 100644
index 00000000000..37e5c3ba34d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr71824-3.c
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-loop-distribution -floop-nest-optimize" } */
+
+struct
+{
+ int bz;
+} od, ka[2];
+
+int fw;
+
+void
+pc (void)
+{
+ for (od.bz = 0; od.bz < 2; ++od.bz)
+ {
+ ++fw;
+ ka[0] = ka[1];
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824.c b/gcc/testsuite/gcc.dg/graphite/pr71824.c
new file mode 100644
index 00000000000..2a90e30e50f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr71824.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-nest-optimize" } */
+
+int a, b, d;
+int **c;
+int fn1() {
+ while (a)
+ if (d) {
+ int e = -d;
+ for (; b < e; b++)
+ c[b] = &a;
+ } else {
+ for (; b; b++)
+ c[b] = &b;
+ d = 0;
+ }
+}