reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of dead registers.
* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of dead registers. From-SVN: r31588
This commit is contained in:
parent
564d80f490
commit
eedf2f550c
2 changed files with 8 additions and 15 deletions
|
@ -1,3 +1,8 @@
|
|||
Mon Jan 24 19:49:47 MET 2000 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
|
||||
dead registers.
|
||||
|
||||
Mon Jan 24 17:37:31 MET 2000 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
|
||||
|
|
|
@ -1383,24 +1383,12 @@ subst_stack_regs_pat (insn, regstack, pat)
|
|||
if (STACK_REG_P (*src)
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (*src)))
|
||||
{
|
||||
/* In stupid allocation the USE might be used to extend lifetime
|
||||
of variable to given scope. This may end up as USE of dead
|
||||
register. */
|
||||
if (optimize || get_hard_regnum (regstack, *src) != -1)
|
||||
emit_pop_insn (insn, regstack, *src, EMIT_AFTER);
|
||||
emit_pop_insn (insn, regstack, *src, EMIT_AFTER);
|
||||
return;
|
||||
}
|
||||
/* ??? Uninitialized USE should not happen. */
|
||||
else if (get_hard_regnum (regstack, *src) == -1)
|
||||
{
|
||||
if (optimize)
|
||||
abort();
|
||||
if (GET_CODE (PATTERN (insn)) != USE)
|
||||
abort();
|
||||
PATTERN (insn) = gen_rtx_SET (GET_MODE (*src), *src,
|
||||
CONST0_RTX (GET_MODE (*src)));
|
||||
subst_stack_regs_pat (insn, regstack, PATTERN (insn));
|
||||
return;
|
||||
}
|
||||
abort();
|
||||
break;
|
||||
|
||||
case CLOBBER:
|
||||
|
|
Loading…
Add table
Reference in a new issue