diff options
author | Richard Biener <rguenther@suse.de> | 2013-04-19 10:15:15 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-04-19 10:15:15 +0000 |
commit | 4891e8f8cdeb34ad392a8cf374ce9b8ee54a177f (patch) | |
tree | 2e858cf22805ff63b465a9d4b983219d3c5d20e8 /gcc | |
parent | b91a551ff0974e8031e1168389d6ac168e883f02 (diff) | |
download | gcc-4891e8f8cdeb34ad392a8cf374ce9b8ee54a177f.zip gcc-4891e8f8cdeb34ad392a8cf374ce9b8ee54a177f.tar.gz gcc-4891e8f8cdeb34ad392a8cf374ce9b8ee54a177f.tar.bz2 |
re PR tree-optimization/57000 (ICE with -Ofast and -frounding-math)
2013-04-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/57000
* tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
* gcc.dg/tree-ssa/reassoc-27.c: New testcase.
From-SVN: r198087
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c | 11 | ||||
-rw-r--r-- | gcc/tree-ssa-reassoc.c | 3 |
4 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77b8e2b..b8c89cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/57000 + * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals. + 2013-04-19 Terry Guo <terry.guo@arm.com> * config/arm/cortex-m4-fpu.md (cortex_m4_v): Delete cpu unit. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 930fb25..1598486 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-04-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/57000 + * gcc.dg/tree-ssa/reassoc-27.c: New testcase. + 2013-04-19 Thomas Koenig <tkoenig@gcc.gnu.org> Mikael Morin <mikael@gcc.gnu.org> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c new file mode 100644 index 0000000..f406beb --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-options "-O -ffast-math -frounding-math -fdump-tree-optimized" } */ + +double baz (double foo, double bar) +{ + return foo * foo * foo * foo * bar * bar * bar * bar; +} + +/* We should re-associate this as (foo * bar)**3. */ +/* { dg-final { scan-tree-dump-times " \\\* " 3 "optimized" } } */ +/* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 534c51c..0089dc5 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -4293,6 +4293,7 @@ struct gimple_opt_pass pass_reassoc = 0, /* properties_destroyed */ 0, /* todo_flags_start */ TODO_verify_ssa - | TODO_verify_flow /* todo_flags_finish */ + | TODO_update_ssa_only_virtuals + | TODO_verify_flow /* todo_flags_finish */ } }; |