reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for things that were eliminated.
* reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for things that were eliminated. From-SVN: r25823
This commit is contained in:
parent
f541e78dd0
commit
13bb79d45e
@ -1,3 +1,8 @@
|
||||
Wed Mar 17 21:29:12 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
|
||||
things that were eliminated.
|
||||
|
||||
Wed Mar 17 12:16:26 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* function.c (fixup_var_refs_1): First try moving the expression
|
||||
|
@ -2914,7 +2914,17 @@ eliminate_regs (x, mem_mode, insn)
|
||||
{
|
||||
new = eliminate_regs (XEXP (x, 0), mem_mode, insn);
|
||||
if (new != XEXP (x, 0))
|
||||
x = gen_rtx_EXPR_LIST (REG_NOTE_KIND (x), new, XEXP (x, 1));
|
||||
{
|
||||
/* If this is a REG_DEAD note, it is not valid anymore.
|
||||
Using the eliminated version could result in creating a
|
||||
REG_DEAD note for the stack or frame pointer. */
|
||||
if (GET_MODE (x) == REG_DEAD)
|
||||
return (XEXP (x, 1)
|
||||
? eliminate_regs (XEXP (x, 1), mem_mode, insn)
|
||||
: NULL_RTX);
|
||||
|
||||
x = gen_rtx_EXPR_LIST (REG_NOTE_KIND (x), new, XEXP (x, 1));
|
||||
}
|
||||
}
|
||||
|
||||
/* ... fall through ... */
|
||||
|
Loading…
Reference in New Issue
Block a user