OSDN Git Service

* cse.c (cse_insn): Stores in a libcall sequence can invalidate
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Nov 2004 17:11:02 +0000 (17:11 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Nov 2004 17:11:02 +0000 (17:11 +0000)
previous loads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90587 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cse.c

index fd651ed..bd173b1 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * cse.c (cse_insn): Stores in a libcall sequence can invalidate
+       previous loads.
+
 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree.h: Fix comment typos.
 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree.h: Fix comment typos.
index 2797e43..914f196 100644 (file)
--- 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))
          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));
          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))
        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));
        else if (GET_CODE (dest) == STRICT_LOW_PART
                 || GET_CODE (dest) == ZERO_EXTRACT)
          invalidate (XEXP (dest, 0), GET_MODE (dest));