From: Richard Biener Date: Fri, 19 Apr 2013 10:15:15 +0000 (+0000) Subject: re PR tree-optimization/57000 (ICE with -Ofast and -frounding-math) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4891e8f8cdeb34ad392a8cf374ce9b8ee54a177f;p=gcc.git re PR tree-optimization/57000 (ICE with -Ofast and -frounding-math) 2013-04-19 Richard Biener 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77b8e2b9bb3..b8c89cfc60d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-19 Richard Biener + + PR tree-optimization/57000 + * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals. + 2013-04-19 Terry Guo * config/arm/cortex-m4-fpu.md (cortex_m4_v): Delete cpu unit. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 930fb254e01..15984862405 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-04-19 Richard Biener + + PR tree-optimization/57000 + * gcc.dg/tree-ssa/reassoc-27.c: New testcase. + 2013-04-19 Thomas Koenig Mikael Morin 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 00000000000..f406beb2fd1 --- /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 534c51cdb96..0089dc515de 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 */ } };