diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c b/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c new file mode 100644 index 000000000..75183052e --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-lim-details" } */ +int x; int y; +struct { int x; int y; } global; +int foo() { + int i; + for ( i=0; i<10; i++) + y += x*x; + for ( i=0; i<10; i++) + global.y += global.x*global.x; +} + +/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim1" } } */ +/* XXX: We should also check for the load motion of global.x, but there is no easy way to do this. */ +/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ |