diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-25 15:24:30 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-25 15:24:30 -0400 |
commit | a19176508acf829433966a74b6ad49e4fc6f4eb6 (patch) | |
tree | 046f356546cb1b6c9e42c78ca678e97429446bff | |
parent | c388525f7aa3c3d914e5323d5c71ecef69305849 (diff) | |
download | gcc-a19176508acf829433966a74b6ad49e4fc6f4eb6.zip gcc-a19176508acf829433966a74b6ad49e4fc6f4eb6.tar.gz gcc-a19176508acf829433966a74b6ad49e4fc6f4eb6.tar.bz2 |
(expand_call): In inlining case, if BEFORE_CALLS is zero, start
looking at first insn (one more place).
From-SVN: r11888
-rw-r--r-- | gcc/calls.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index f968da5..7f18a8f 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -739,8 +739,9 @@ expand_call (exp, target, ignore) if (stack_arg_under_construction || i >= 0) { - rtx insn = before_call ? NEXT_INSN (before_call) : get_insns (); - rtx seq; + rtx first_insn + = before_call ? NEXT_INSN (before_call) : get_insns (); + rtx insn, seq; /* Look for a call in the inline function code. If OUTGOING_ARGS_SIZE (DECL_SAVED_INSNS (fndecl)) is @@ -748,7 +749,7 @@ expand_call (exp, target, ignore) to scan the insns. */ if (OUTGOING_ARGS_SIZE (DECL_SAVED_INSNS (fndecl)) == 0) - for (; insn; insn = NEXT_INSN (insn)) + for (insn = first_insn; insn; insn = NEXT_INSN (insn)) if (GET_CODE (insn) == CALL_INSN) break; @@ -780,7 +781,7 @@ expand_call (exp, target, ignore) NULL_RTX, BITS_PER_UNIT); seq = get_insns (); end_sequence (); - emit_insns_before (seq, NEXT_INSN (before_call)); + emit_insns_before (seq, first_insn); emit_stack_restore (SAVE_BLOCK, old_stack_level, NULL_RTX); } } |