function.c (thread_prologue_and_epilogue_insns): Fix exit predecessor fallthru flags.

* function.c (thread_prologue_and_epilogue_insns): Fix exit
	predecessor fallthru flags.

From-SVN: r126797
This commit is contained in:
Zdenek Dvorak 2007-07-20 03:32:47 +02:00 committed by Zdenek Dvorak
parent d24a32a186
commit 30a873c3f3
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-07-20 Zdenek Dvorak <dvorakz@suse.cz>
* function.c (thread_prologue_and_epilogue_insns): Fix exit
predecessor fallthru flags.
2007-07-20 Zdenek Dvorak <dvorakz@suse.cz>
* tree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands

View File

@ -5256,7 +5256,18 @@ thread_prologue_and_epilogue_insns (void)
epilogue_done:
if (inserted)
commit_edge_insertions ();
{
commit_edge_insertions ();
/* The epilogue insns we inserted may cause the exit edge to no longer
be fallthru. */
FOR_EACH_EDGE (e, ei, EXIT_BLOCK_PTR->preds)
{
if (((e->flags & EDGE_FALLTHRU) != 0)
&& returnjump_p (BB_END (e->src)))
e->flags &= ~EDGE_FALLTHRU;
}
}
#ifdef HAVE_sibcall_epilogue
/* Emit sibling epilogues before any sibling call sites. */