diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/function.c | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8cc833..a99d5ef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-10-06 Bernd Schmidt <bernds@codesourcery.com> + + * function.c (thread_prologue_and_epilogue_insns): Emit split + prologue on the orig_entry_edge. Don't account for it in + prologue_clobbered. + 2011-10-06 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/50596 diff --git a/gcc/function.c b/gcc/function.c index c535ff0..ff63b94 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5602,10 +5602,6 @@ thread_prologue_and_epilogue_insns (void) note_stores (PATTERN (p_insn), record_hard_reg_sets, &prologue_clobbered); } - for (p_insn = split_prologue_seq; p_insn; p_insn = NEXT_INSN (p_insn)) - if (NONDEBUG_INSN_P (p_insn)) - note_stores (PATTERN (p_insn), record_hard_reg_sets, - &prologue_clobbered); bitmap_initialize (&bb_antic_flags, &bitmap_default_obstack); bitmap_initialize (&bb_on_list, &bitmap_default_obstack); @@ -5758,7 +5754,7 @@ thread_prologue_and_epilogue_insns (void) if (split_prologue_seq != NULL_RTX) { - insert_insn_on_edge (split_prologue_seq, entry_edge); + insert_insn_on_edge (split_prologue_seq, orig_entry_edge); inserted = true; } if (prologue_seq != NULL_RTX) |
