aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2003-10-18 09:32:08 +0200
committerEric Botcazou <ebotcazou@gcc.gnu.org>2003-10-18 07:32:08 +0000
commit9d8de1de895cbaae3122dc0d9ab0079926dfb15c (patch)
tree1f378abe72774bb21ff4bf0f9ae053f7a7c0964d /gcc
parent67e53009556d04f437d5b855dc50fde37afcf124 (diff)
downloadgcc-9d8de1de895cbaae3122dc0d9ab0079926dfb15c.zip
gcc-9d8de1de895cbaae3122dc0d9ab0079926dfb15c.tar.gz
gcc-9d8de1de895cbaae3122dc0d9ab0079926dfb15c.tar.bz2
cse.c (cse_insn): Check that the tentative replacement was successfully forced to memory before...
* cse.c (cse_insn) [src_folded]: Check that the tentative replacement was successfully forced to memory before using the result. From-SVN: r72635
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cse.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b89036c..3fd42ab 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+ * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
+ was successfully forced to memory before using the result.
+
+2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+
PR optimization/8178
* config/i386/i386.md (*movsi_zero): New insn to set
a register to zero on TARGET_USE_MOV0 targets.
diff --git a/gcc/cse.c b/gcc/cse.c
index 7cdc72f..7612a5a 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -5416,7 +5416,11 @@ cse_insn (rtx insn, rtx libcall_insn)
{
trial = src_folded, src_folded_cost = MAX_COST;
if (src_folded_force_flag)
- trial = force_const_mem (mode, trial);
+ {
+ rtx forced = force_const_mem (mode, trial);
+ if (forced)
+ trial = forced;
+ }
}
else if (src
&& preferrable (src_cost, src_regcost,