aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
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/cse.c
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/cse.c')
-rw-r--r--gcc/cse.c3
1 files changed, 3 insertions, 0 deletions
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)