aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Lawrence <alan.lawrence@arm.com>2014-09-22 14:20:16 +0000
committerAlan Lawrence <alalaw01@gcc.gnu.org>2014-09-22 14:20:16 +0000
commitc71abde77f03f51d347f882d399c88f3cdece7bc (patch)
treeba3d8ae14baa52504a3ca20f5b6598c8640d8a37
parent9b81754858b271df999993ac7c195acfb4558387 (diff)
downloadgcc-c71abde77f03f51d347f882d399c88f3cdece7bc.zip
gcc-c71abde77f03f51d347f882d399c88f3cdece7bc.tar.gz
gcc-c71abde77f03f51d347f882d399c88f3cdece7bc.tar.bz2
Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html gcc/: * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs. From-SVN: r215465
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/fold-const.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ac79f4f..f788b99 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2014-09-22 Alan Lawrence <alan.lawrence@arm.com>
+
+ * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.
+
2014-09-22 Richard Biener <rguenther@suse.de>
* gimplify.c (gimplify_init_constructor): Do not leave
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 5cfc646..9f1bc09 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -6647,8 +6647,8 @@ tree_swap_operands_p (const_tree arg0, const_tree arg1, bool reorder)
if (CONSTANT_CLASS_P (arg0))
return 1;
- STRIP_NOPS (arg0);
- STRIP_NOPS (arg1);
+ STRIP_SIGN_NOPS (arg0);
+ STRIP_SIGN_NOPS (arg1);
if (TREE_CONSTANT (arg1))
return 0;