From 77121feee43d5dd0f08d2d1b37f0363a39cba7ec Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Fri, 1 Jan 1993 16:41:53 -0800 Subject: [PATCH] (fixup_var_regs_insn): Update last_parm_insn when insns are output after it to fix it up. From-SVN: r3047 --- gcc/function.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/function.c b/gcc/function.c index 70e04dfd8e4..82ecd99ed82 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1036,10 +1036,17 @@ fixup_var_refs_insns (var, promoted_mode, unsignedp, insn, toplevel) it here. */ struct fixup_replacement *replacements = 0; + rtx next_insn = NEXT_INSN (insn); fixup_var_refs_1 (var, promoted_mode, &PATTERN (insn), insn, &replacements); + /* If this is last_parm_insn, and any instructions were output + after it to fix it up, then we must set last_parm_insn to + the last such instruction emitted. */ + if (insn == last_parm_insn) + last_parm_insn = PREV_INSN (next_insn); + while (replacements) { if (GET_CODE (replacements->new) == REG)