Commit 9b00189f by Jan Hubicka Committed by Richard Henderson

Jan Hubicka <hubicka@freesoft.cz>

        * i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
        prologues.

From-SVN: r29745
parent 0d7148e3
Thu Sep 30 18:34:54 1999 Jan Hubicka <hubicka@freesoft.cz>
* i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
prologues.
Thu Sep 30 18:31:36 1999 Jan Hubicka <hubicka@freesoft.cz>
* alias.c: Include insn-flags.h.
......
......@@ -5325,15 +5325,27 @@ ix86_adjust_cost (insn, link, dep_insn, cost)
{
enum attr_type insn_type, dep_insn_type;
rtx set, set2;
int dep_insn_code_number;
/* We describe no anti or output depenancies. */
if (REG_NOTE_KIND (link) != 0)
return cost;
dep_insn_code_number = recog_memoized (dep_insn);
/* If we can't recognize the insns, we can't really do anything. */
if (recog_memoized (insn) < 0 || recog_memoized (dep_insn) < 0)
if (dep_insn_code_number < 0 || recog_memoized (insn) < 0)
return cost;
/* Prologue and epilogue allocators have false dependency on ebp.
This results in one cycle extra stall on Pentium prologue scheduling, so
handle this important case manually. */
if ((dep_insn_code_number == CODE_FOR_prologue_allocate_stack
|| dep_insn_code_number == CODE_FOR_epilogue_deallocate_stack)
&& !reg_mentioned_p (stack_pointer_rtx, insn))
return 0;
insn_type = get_attr_type (insn);
dep_insn_type = get_attr_type (dep_insn);
......
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