From c95cfc31b915c73a4aade079bc7c18c4f0b56a87 Mon Sep 17 00:00:00 2001 From: hubicka Date: Mon, 24 Jan 2000 18:58:32 +0000 Subject: * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of dead registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31588 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/reg-stack.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'gcc/reg-stack.c') diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 45ef11c5ce3..2edd57906cd 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -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: -- cgit v1.2.1