+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.
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: