diff options
author | Martin Jambor <mjambor@suse.cz> | 2009-08-06 13:55:30 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2009-08-06 13:55:30 +0200 |
commit | 5b62ee8ae37494be0187ded458072c66414304ce (patch) | |
tree | b82c951a2ce5cec8c52157eb3d1e4275157d20d1 /gcc | |
parent | 4dbf26d534a9c3fff592ca9fef172449f6886842 (diff) | |
download | gcc-5b62ee8ae37494be0187ded458072c66414304ce.zip gcc-5b62ee8ae37494be0187ded458072c66414304ce.tar.gz gcc-5b62ee8ae37494be0187ded458072c66414304ce.tar.bz2 |
re PR middle-end/32964 (union cause inefficient code inside loops)
2009-08-06 Martin Jambor <mjambor@suse.cz>
PR middle-end/32964
* testsuite/gcc.dg/tree-ssa/pr32964.c: New test.
From-SVN: r150523
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr32964.c | 26 |
2 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2232d5f..7d35150 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-08-06 Martin Jambor <mjambor@suse.cz> + + PR middle-end/32964 + * gcc.dg/tree-ssa/pr32964.c: New test. + 2009-08-06 Uros Bizjak <ubizjak@gmail.com> H.J. Lu <hongjiu.lu@intel.com> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c b/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c new file mode 100644 index 0000000..18e73f9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c @@ -0,0 +1,26 @@ +/* { dg-do compile } */ +/* { dg-options "-O1 -fdump-tree-optimized" } */ + +union A +{ + float a; +}; + +float t(float a) +{ + union A a1, a2, a3; + int i; + + a1.a = a; + for(i = 0; i<100; i++) + { + a2 = a1; + a2.a += a; + a1 = a2; + } + a3 = a1; + return a3.a; +} + +/* { dg-final { scan-tree-dump-times "union" 0 "optimized"} } */ +/* { dg-final { cleanup-tree-dump "optimized" } } */ |