diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d132863abda3..bda9ea2aa6d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-09-06 Jan Hubicka + + PR target/33318 + * cse.c (fold_rtx): Avoid invalid sharing. + 2007-09-06 Richard Sandiford * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) diff --git a/gcc/cse.c b/gcc/cse.c index fc4f895c8b0c..590adfad7b4b 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -3246,7 +3246,8 @@ fold_rtx (rtx x, rtx insn) /* If we have a cheaper expression now, use that and try folding it further, from the top. */ if (cheapest_simplification != x) - return fold_rtx (cheapest_simplification, insn); + return fold_rtx (copy_rtx (cheapest_simplification), + insn); } }