move single basic blocks that are neither fallen into nor fall out of into
authorChris Lattner <sabre@nondot.org>
Tue, 24 Oct 2006 01:12:32 +0000 (01:12 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 24 Oct 2006 01:12:32 +0000 (01:12 +0000)
commit7d09784d3fc652131a2afbf06a0f2ed893837fb9
treefb2ab574578f40ae5609394f9414445c445d2602
parente90c53756efa19d1068f416ad8932eff8241e894
move single basic blocks that are neither fallen into nor fall out of into
a place more useful.  In particular, if we can put them in a place where code
will be able to fall into it, do so.  Otherwise, put it in a place it can fall
through into a successor.  Otherwise, if preventing a fallthrough, move to the
end of the function, out of the way.

This deletes several hundred unconditional branches from spass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31149 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/BranchFolding.cpp