summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkugan <kugan@138bc75d-0d04-0410-961f-82ee72b054a4>2016-05-24 22:29:27 +0000
committerkugan <kugan@138bc75d-0d04-0410-961f-82ee72b054a4>2016-05-24 22:29:27 +0000
commit4e173d60156e3d955156b9e364933f5928170f58 (patch)
treebba95c0e089fdfca7bcaa8a0c3ee2bb3eacd8c3f
parenta0c02a52971d65ee65792e3df1f2418f4deda593 (diff)
downloadgcc-4e173d60156e3d955156b9e364933f5928170f58.tar.gz
gcc/ChangeLog:
2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb when there is stmt_to_insert. gcc/testsuite/ChangeLog: 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.dg/tree-ssa/reassoc-44.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236673 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/reassoc-44.c9
-rw-r--r--gcc/tree-ssa-reassoc.c2
4 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b07aa808891..238cd07178d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
+ when there is stmt_to_insert.
+
2016-05-24 Martin Sebor <msebor@redhat.com>
PR c++/71147
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a2821a7c9c7..d81eedda023 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * gcc.dg/tree-ssa/reassoc-44.c: New test.
+
2016-05-24 Pat Haugen <pthaugen@us.ibm.com>
PR target/71050
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-44.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-44.c
new file mode 100644
index 00000000000..1d946f6b604
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-44.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+unsigned int a;
+int b, c;
+void fn1 ()
+{
+ b = a + c + c;
+}
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 3b0266767a3..c9ed6795679 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -519,6 +519,8 @@ sort_by_operand_rank (const void *pa, const void *pb)
See PR60418. */
if (!SSA_NAME_IS_DEFAULT_DEF (oea->op)
&& !SSA_NAME_IS_DEFAULT_DEF (oeb->op)
+ && !oea->stmt_to_insert
+ && !oeb->stmt_to_insert
&& SSA_NAME_VERSION (oeb->op) != SSA_NAME_VERSION (oea->op))
{
gimple *stmta = SSA_NAME_DEF_STMT (oea->op);