diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fe370bc954..6f6f6668031 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-05-17 Andreas Schwab + + * cse.c (cse_insn): Copy SRC_CONST before putting it in the + REG_EQUAL note. + 1999-05-17 Mike Stump * rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions. diff --git a/gcc/cse.c b/gcc/cse.c index 72a1ff63c3d..5fc6c7889a2 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)