diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-02 01:03:47 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-02 01:03:47 +0000 |
commit | 9c89b179c0ec09ec7855e0d20b13a48180809c47 (patch) | |
tree | 11041299cb2bcefe24a78b05b79fb9dbe39a9896 /gcc/local-alloc.c | |
parent | 1c1033dd4a273339c63c98572592b70b2c68147e (diff) | |
download | gcc-9c89b179c0ec09ec7855e0d20b13a48180809c47.tar.gz |
* local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
new instruction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39400 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r-- | gcc/local-alloc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 1abe902015c..c743ad63fe8 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; |