diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2003-10-18 09:32:08 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2003-10-18 07:32:08 +0000 |
commit | 9d8de1de895cbaae3122dc0d9ab0079926dfb15c (patch) | |
tree | 1f378abe72774bb21ff4bf0f9ae053f7a7c0964d /gcc | |
parent | 67e53009556d04f437d5b855dc50fde37afcf124 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cse.c | 6 |
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. @@ -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, |