aboutsummaryrefslogtreecommitdiff
path: root/gcc/local-alloc.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-02-01 17:03:47 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-02-01 17:03:47 -0800
commitcad33336eefc5d1cab42875de40c814685346265 (patch)
tree11041299cb2bcefe24a78b05b79fb9dbe39a9896 /gcc/local-alloc.c
parent3b60dd8e1086b8d477a6fe09c7fe9a07bf410c51 (diff)
downloadgcc-cad33336eefc5d1cab42875de40c814685346265.zip
gcc-cad33336eefc5d1cab42875de40c814685346265.tar.gz
gcc-cad33336eefc5d1cab42875de40c814685346265.tar.bz2
local-alloc.c (update_equiv_regs): Copy INSN_CODE to the new instruction.
* local-alloc.c (update_equiv_regs): Copy INSN_CODE to the new instruction. From-SVN: r39400
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r--gcc/local-alloc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index 1abe902..c743ad6 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -1141,9 +1141,13 @@ update_equiv_regs ()
rtx new_insn;
new_insn = emit_insn_before (PATTERN (equiv_insn), insn);
- REG_NOTES (PREV_INSN (insn)) = REG_NOTES (equiv_insn);
+ REG_NOTES (new_insn) = REG_NOTES (equiv_insn);
REG_NOTES (equiv_insn) = 0;
+ /* Make sure this insn is recognized before reload begins,
+ otherwise eliminate_regs_in_insn will abort. */
+ INSN_CODE (new_insn) = INSN_CODE (equiv_insn);
+
PUT_CODE (equiv_insn, NOTE);
NOTE_LINE_NUMBER (equiv_insn) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (equiv_insn) = 0;