Commit 17f01631 by Jan Hubicka Committed by Jan Hubicka

i386.c (pro_epilogue_adjust_stack): Use EBP for tail call epilogues.

	* config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
	for tail call epilogues.

From-SVN: r160050
parent e6bdd039
2010-05-30 Jan Hubicka <jh@suse.cz> 2010-05-30 Jan Hubicka <jh@suse.cz>
* config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
for tail call epilogues.
2010-05-30 Jan Hubicka <jh@suse.cz>
* passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2, * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initilalize dump ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initilalize dump
files. files.
......
...@@ -8363,17 +8363,21 @@ pro_epilogue_adjust_stack (rtx dest, rtx src, rtx offset, ...@@ -8363,17 +8363,21 @@ pro_epilogue_adjust_stack (rtx dest, rtx src, rtx offset,
insn = emit_insn (gen_pro_epilogue_adjust_stack_rex64 (dest, src, offset)); insn = emit_insn (gen_pro_epilogue_adjust_stack_rex64 (dest, src, offset));
else else
{ {
rtx r11; rtx tmp;
/* r11 is used by indirect sibcall return as well, set before the /* r11 is used by indirect sibcall return as well, set before the
epilogue and used after the epilogue. ATM indirect sibcall epilogue and used after the epilogue. */
shouldn't be used together with huge frame sizes in one if (style)
function because of the frame_size check in sibcall.c. */ tmp = gen_rtx_REG (DImode, R11_REG);
gcc_assert (style); else
r11 = gen_rtx_REG (DImode, R11_REG); {
insn = emit_insn (gen_rtx_SET (DImode, r11, offset)); gcc_assert (src != hard_frame_pointer_rtx
&& dest != hard_frame_pointer_rtx);
tmp = hard_frame_pointer_rtx;
}
insn = emit_insn (gen_rtx_SET (DImode, tmp, offset));
if (style < 0) if (style < 0)
RTX_FRAME_RELATED_P (insn) = 1; RTX_FRAME_RELATED_P (insn) = 1;
insn = emit_insn (gen_pro_epilogue_adjust_stack_rex64_2 (dest, src, r11, insn = emit_insn (gen_pro_epilogue_adjust_stack_rex64_2 (dest, src, tmp,
offset)); offset));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment