From: Jim Wilson Date: Sat, 21 Jan 1995 01:30:34 +0000 (-0800) Subject: (scan_loop): For the replace_rtx call, copy the rtx that is X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5eeedd4d9e8e8c73c2263f1442d89f357ec6ff73;p=gcc.git (scan_loop): For the replace_rtx call, copy the rtx that is being substituted in before the call. From-SVN: r8779 --- diff --git a/gcc/loop.c b/gcc/loop.c index bb48a9ef1c4..e267652bd50 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -746,10 +746,12 @@ scan_loop (loop_start, end, nregs) && validate_replace_rtx (SET_DEST (set), SET_SRC (set), reg_single_usage[regno])) { - /* Replace any usage in a REG_EQUAL note. */ + /* Replace any usage in a REG_EQUAL note. Must copy the + new source, so that we don't get rtx sharing between the + SET_SOURCE and REG_NOTES of insn p. */ REG_NOTES (reg_single_usage[regno]) = replace_rtx (REG_NOTES (reg_single_usage[regno]), - SET_DEST (set), SET_SRC (set)); + SET_DEST (set), copy_rtx (SET_SRC (set))); PUT_CODE (p, NOTE); NOTE_LINE_NUMBER (p) = NOTE_INSN_DELETED;