diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/graphite')
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr71824-2.c | 34 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr71824-3.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr71824.c | 17 |
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; + } +} |