Commit 6fb85418 by Bernd Schmidt Committed by Bernd Schmidt

Fix REG_INC note handling in register renamer.

From-SVN: r37364
parent 108d96a7
2000-11-09 Bernd Schmidt <bernds@redhat.co.uk>
* regrename.c (build_def_use): Mark contents of REG_INC notes as
needing replacement.
2000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl> 2000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl>
* c-tree.texi: Fix typos. * c-tree.texi: Fix typos.
......
...@@ -714,10 +714,15 @@ build_def_use (bb, regs_used) ...@@ -714,10 +714,15 @@ build_def_use (bb, regs_used)
scan_rtx (insn, loc, class, mark_read, type); scan_rtx (insn, loc, class, mark_read, type);
} }
/* Step 4: Close chains for registers that die here. */ /* Step 4: Close chains for registers that die here.
Also record updates for REG_INC notes. */
for (note = REG_NOTES (insn); note; note = XEXP (note, 1)) for (note = REG_NOTES (insn); note; note = XEXP (note, 1))
if (REG_NOTE_KIND (note) == REG_DEAD) {
scan_rtx (insn, &XEXP (note, 0), NO_REGS, terminate_dead, OP_IN); if (REG_NOTE_KIND (note) == REG_DEAD)
scan_rtx (insn, &XEXP (note, 0), NO_REGS, terminate_dead, OP_IN);
else if (REG_NOTE_KIND (note) == REG_INC)
scan_rtx (insn, &XEXP (note, 0), ALL_REGS, mark_read, OP_INOUT);
}
/* Step 4B: If this is a call, any chain live at this point /* Step 4B: If this is a call, any chain live at this point
requires a caller-saved reg. */ requires a caller-saved reg. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment