diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-01-01 16:41:53 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-01-01 16:41:53 -0800 |
commit | 77121feee43d5dd0f08d2d1b37f0363a39cba7ec (patch) | |
tree | e763eb8ca62b46950093c8379749e63772209e27 /gcc | |
parent | aed0ae9b82d4874793cfae81d3d1fe8ddfa070f6 (diff) | |
download | gcc-77121feee43d5dd0f08d2d1b37f0363a39cba7ec.zip gcc-77121feee43d5dd0f08d2d1b37f0363a39cba7ec.tar.gz gcc-77121feee43d5dd0f08d2d1b37f0363a39cba7ec.tar.bz2 |
(fixup_var_regs_insn): Update last_parm_insn when
insns are output after it to fix it up.
From-SVN: r3047
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/function.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 70e04df..82ecd99 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) |