From 8190b609c2cdfd1e624149c1e6751e43407e13da Mon Sep 17 00:00:00 2001 From: Easwaran Raman Date: Wed, 29 May 2013 17:30:43 +0000 Subject: [PATCH] re PR tree-optimization/57442 (ICE in appears_later_in_bb, at tree-ssa-reassoc.c:2891) 2013-05-29 Easwaran Raman PR tree-optimization/57442 * tree-ssa-reassoc.c (appears_later_in_bb): Return correct value when control exits the main loop. 2013-05-29 Easwaran Raman PR tree-optimization/57442 * gcc.dg/tree-ssa/reassoc-30.c: New testcase. From-SVN: r199418 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c | 13 +++++++++++++ gcc/tree-ssa-reassoc.c | 2 +- 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13807be66ce..dda21844571 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-29 Easwaran Raman + + PR tree-optimization/57442 + * tree-ssa-reassoc.c (appears_later_in_bb): Return correct value + when control exits the main loop. + 2013-05-29 Sandeep Kumar Singh * rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add macros for RX100, RX200, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4aedfc94fb7..64b0f58c158 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-29 Easwaran Raman + + PR tree-optimization/57442 + * gcc.dg/tree-ssa/reassoc-30.c: New testcase. + 2013-05-29 Bill Schmidt PR tree-optimization/57441 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c new file mode 100644 index 00000000000..66289848322 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c @@ -0,0 +1,13 @@ +/* PR tree-optimization/57442 */ +/* { dg-do compile } */ +/* { dg-options "-O1" } */ +short a; +unsigned b; +long c; +int d; + +void f(void) +{ + b = a ? : (a = b) - c + (d - (b + b)); +} + diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 24ad390333c..784477b5922 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -2888,7 +2888,7 @@ appears_later_in_bb (gimple stmt1, gimple stmt2) else if (stmt == stmt2) return stmt2; } - gcc_unreachable (); + return stmt1; } /* Find the statement after which STMT must be moved so that the -- 2.30.2