(fixup_var_regs_insn): Update last_parm_insn when
authorJim Wilson <wilson@gcc.gnu.org>
Sat, 2 Jan 1993 00:41:53 +0000 (16:41 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Sat, 2 Jan 1993 00:41:53 +0000 (16:41 -0800)
insns are output after it to fix it up.

From-SVN: r3047

gcc/function.c

index 70e04dfd8e43ba3d774da49862f9849e8c28a7da..82ecd99ed82335e1cb1620411bb5081be049cdf7 100644 (file)
@@ -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)