aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEaswaran Raman <eraman@google.com>2013-05-29 17:30:43 +0000
committerEaswaran Raman <eraman@gcc.gnu.org>2013-05-29 17:30:43 +0000
commit8190b609c2cdfd1e624149c1e6751e43407e13da (patch)
tree62f8826ea32deb7f806dae942158c3ecde774175
parent69f5aa9bd559826bd0651f4a76af287a3ad90708 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/reassoc-30.c13
-rw-r--r--gcc/tree-ssa-reassoc.c2
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