OSDN Git Service

* cse.c (cse_insn): Copy SRC_CONST before putting it in the
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 May 1999 00:36:36 +0000 (00:36 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 May 1999 00:36:36 +0000 (00:36 +0000)
        REG_EQUAL note.

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

gcc/ChangeLog
gcc/cse.c

index 8fe370b..6f6f666 100644 (file)
@@ -1,3 +1,8 @@
+1999-05-17  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * cse.c (cse_insn): Copy SRC_CONST before putting it in the
+       REG_EQUAL note.
+
 1999-05-17  Mike Stump  <mrs@wrs.com>
 
        * rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions.
index 72a1ff6..5fc6c78 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7323,6 +7323,9 @@ cse_insn (insn, libcall_insn)
        {
          tem = find_reg_note (insn, REG_EQUAL, NULL_RTX);
          
+         /* Make sure that the rtx is not shared with any other insn.  */
+         src_const = copy_rtx (src_const);
+
          /* Record the actual constant value in a REG_EQUAL note, making
             a new one if one does not already exist.  */
          if (tem)