2009-09-24 Alan Modra <amodra@bigpond.net.au> PR target/40473 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't call final to emit non-scheduled prologue, instead insert at entry. --- gcc/config/rs6000/rs6000.c (revision 152102) +++ gcc/config/rs6000/rs6000.c (revision 152103) @@ -14731,6 +14731,8 @@ rs6000_output_function_prologue (FILE *f if (! HAVE_prologue) { + rtx prologue; + start_sequence (); /* A NOTE_INSN_DELETED is supposed to be at the start and end of @@ -14750,10 +14752,13 @@ rs6000_output_function_prologue (FILE *f } } - if (TARGET_DEBUG_STACK) - debug_rtx_list (get_insns (), 100); - final (get_insns (), file, FALSE); + prologue = get_insns (); end_sequence (); + + if (TARGET_DEBUG_STACK) + debug_rtx_list (prologue, 100); + + emit_insn_before_noloc (prologue, BB_HEAD (ENTRY_BLOCK_PTR->next_bb)); } rs6000_pic_labelno++;