* tree-ssa-threadupdate.c (create_block_for_threading): Request
commitf582bb6c92c50798e4f1e4a5a3ccc592d4215898
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Sep 2004 02:15:00 +0000 (29 02:15 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Sep 2004 02:15:00 +0000 (29 02:15 +0000)
treeaafb518095845c31b96e9a8794e0eb9718961eea
parent1358f000fb1cda610461b1efdc359766df0864d7
* tree-ssa-threadupdate.c (create_block_for_threading):  Request
that no outgoing edges be left in the duplicate block.  Do no
update information on outgoing edges or PHI nodes in target
blocks here.
(remove_ctrl_stmt_and_useless_edges): Renamed from
remove_last_stmt_and_useless_edges.  Handle case where the
block is empty or has no control statements.  Do not update edge
flags here.
(thread_block): Create a template block rather than copying the
original block every time.  Create outgoing edges from the
duplicate blocks and update PHIs at the target of the outgoing
edges here.  Fix edge flags for the original block if necessary.
* cfghooks (duplicate_block): No longer assert that the original
block has incoming edges.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88267 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfghooks.c
gcc/tree-ssa-threadupdate.c