aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2016-02-04 09:56:13 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2016-02-04 09:56:13 +0000
commit625d55afc196456f1d04819c07a3c59806a2401e (patch)
treed91e40f55b9ae0fe3425c751619d861334af3e72 /gcc
parent9fec9595fb7a7ee6fcd200443d0e4bd7a34fd734 (diff)
downloadgcc-625d55afc196456f1d04819c07a3c59806a2401e.zip
gcc-625d55afc196456f1d04819c07a3c59806a2401e.tar.gz
gcc-625d55afc196456f1d04819c07a3c59806a2401e.tar.bz2
[cse][3/4] Don't overwrite original rtx when folding source of set
PR target/65932 PR target/67714 * cse.c (cse_insn): Pass NULL to fold_rtx when initially folding the source of a SET. From-SVN: r233133
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cse.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d5936b7..3e2f22a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -2,6 +2,13 @@
PR target/65932
PR target/67714
+ * cse.c (cse_insn): Pass NULL to fold_rtx when initially
+ folding the source of a SET.
+
+2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65932
+ PR target/67714
* config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
diff --git a/gcc/cse.c b/gcc/cse.c
index 58b8fc0..2665d9a 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -4636,7 +4636,7 @@ cse_insn (rtx_insn *insn)
/* Simplify and foldable subexpressions in SRC. Then get the fully-
simplified result, which may not necessarily be valid. */
- src_folded = fold_rtx (src, insn);
+ src_folded = fold_rtx (src, NULL);
#if 0
/* ??? This caused bad code to be generated for the m68k port with -O2.