aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@issan.cs.uni-dortmund.de>1999-05-17 00:36:36 +0000
committerJeff Law <law@gcc.gnu.org>1999-05-16 18:36:36 -0600
commit51e2a951cc3abdf9a9118f8897d4ca8d76776579 (patch)
tree3777736d440c42d1e61f2a4e5b1f105b10542033 /gcc
parent2459d1044bb459d673705725d0f16779eeab20a2 (diff)
downloadgcc-51e2a951cc3abdf9a9118f8897d4ca8d76776579.zip
gcc-51e2a951cc3abdf9a9118f8897d4ca8d76776579.tar.gz
gcc-51e2a951cc3abdf9a9118f8897d4ca8d76776579.tar.bz2
cse.c (cse_insn): Copy SRC_CONST before putting it in the REG_EQUAL note.
* cse.c (cse_insn): Copy SRC_CONST before putting it in the REG_EQUAL note. From-SVN: r26958
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cse.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8fe370b..6f6f666 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/cse.c b/gcc/cse.c
index 72a1ff6..5fc6c78 100644
--- 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)