diff options
author | Easwaran Raman <eraman@google.com> | 2013-05-29 17:30:43 +0000 |
---|---|---|
committer | Easwaran Raman <eraman@gcc.gnu.org> | 2013-05-29 17:30:43 +0000 |
commit | 8190b609c2cdfd1e624149c1e6751e43407e13da (patch) | |
tree | 62f8826ea32deb7f806dae942158c3ecde774175 | |
parent | 69f5aa9bd559826bd0651f4a76af287a3ad90708 (diff) | |
download | gcc-8190b609c2cdfd1e624149c1e6751e43407e13da.zip gcc-8190b609c2cdfd1e624149c1e6751e43407e13da.tar.gz gcc-8190b609c2cdfd1e624149c1e6751e43407e13da.tar.bz2 |
re PR tree-optimization/57442 (ICE in appears_later_in_bb, at tree-ssa-reassoc.c:2891)
2013-05-29 Easwaran Raman <eraman@google.com>
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 <eraman@google.com>
PR tree-optimization/57442
* gcc.dg/tree-ssa/reassoc-30.c: New testcase.
From-SVN: r199418
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c | 13 | ||||
-rw-r--r-- | gcc/tree-ssa-reassoc.c | 2 |
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13807be..dda2184 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-29 Easwaran Raman <eraman@google.com> + + 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 <Sandeep.Singh2@kpitcummins.com> * rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add macros for RX100, RX200, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4aedfc9..64b0f58 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-29 Easwaran Raman <eraman@google.com> + + PR tree-optimization/57442 + * gcc.dg/tree-ssa/reassoc-30.c: New testcase. + 2013-05-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 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 0000000..6628984 --- /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 24ad390..784477b 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 |