aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2004-11-13 17:11:02 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2004-11-13 17:11:02 +0000
commit32fab725bcf126e5b2722734c70212c4671ebc24 (patch)
tree0ad2fb0cebe676d8f7b9765e13e0537ceee3859b /gcc/cse.c
parent04e818085091dd5166982fa183db48e677a8583e (diff)
downloadgcc-32fab725bcf126e5b2722734c70212c4671ebc24.zip
gcc-32fab725bcf126e5b2722734c70212c4671ebc24.tar.gz
gcc-32fab725bcf126e5b2722734c70212c4671ebc24.tar.bz2
cse.c (cse_insn): Stores in a libcall sequence can invalidate previous loads.
* cse.c (cse_insn): Stores in a libcall sequence can invalidate previous loads. From-SVN: r90587
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 2797e43..914f196 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -5681,12 +5681,7 @@ cse_insn (rtx insn, rtx libcall_insn)
if (REG_P (dest) || GET_CODE (dest) == SUBREG)
invalidate (dest, VOIDmode);
else if (MEM_P (dest))
- {
- /* Outgoing arguments for a libcall don't
- affect any recorded expressions. */
- if (! libcall_insn || insn == libcall_insn)
- invalidate (dest, VOIDmode);
- }
+ invalidate (dest, VOIDmode);
else if (GET_CODE (dest) == STRICT_LOW_PART
|| GET_CODE (dest) == ZERO_EXTRACT)
invalidate (XEXP (dest, 0), GET_MODE (dest));
@@ -5854,12 +5849,7 @@ cse_insn (rtx insn, rtx libcall_insn)
if (REG_P (dest) || GET_CODE (dest) == SUBREG)
invalidate (dest, VOIDmode);
else if (MEM_P (dest))
- {
- /* Outgoing arguments for a libcall don't
- affect any recorded expressions. */
- if (! libcall_insn || insn == libcall_insn)
- invalidate (dest, VOIDmode);
- }
+ invalidate (dest, VOIDmode);
else if (GET_CODE (dest) == STRICT_LOW_PART
|| GET_CODE (dest) == ZERO_EXTRACT)
invalidate (XEXP (dest, 0), GET_MODE (dest));