diff options
author | Richard Henderson <rth@redhat.com> | 2001-02-01 17:03:47 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-02-01 17:03:47 -0800 |
commit | cad33336eefc5d1cab42875de40c814685346265 (patch) | |
tree | 11041299cb2bcefe24a78b05b79fb9dbe39a9896 | |
parent | 3b60dd8e1086b8d477a6fe09c7fe9a07bf410c51 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/local-alloc.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9b2e37..522c2c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-02-01 Richard Henderson <rth@redhat.com> + + * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the + new instruction. + 2001-02-01 Alexandre Oliva <aoliva@redhat.com> * config/sh/crt1.asm (main_k): Modified so that start calls 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; |