diff options
author | Dan Gohman <gohman@apple.com> | 2009-10-17 00:32:43 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-10-17 00:32:43 +0000 |
commit | 0d3d9ee03e6d2746409bc26921ff743d65d2fc4f (patch) | |
tree | 2d0c1fc8195eb89c83404ebaee940a79df13f45b /llvm/lib/Analysis | |
parent | f920463aae34ae3d39d38bf7c6af7ec7ca7b30fe (diff) | |
download | bcm5719-llvm-0d3d9ee03e6d2746409bc26921ff743d65d2fc4f.tar.gz bcm5719-llvm-0d3d9ee03e6d2746409bc26921ff743d65d2fc4f.zip |
Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic
to be more general and understand more varieties of loops.
Teach CodePlacementOpt to reorganize the basic blocks of a loop so that
they are contiguous. This also includes a fair amount of logic for preserving
fall-through edges while doing so. This fixes a BranchFolding-ism where blocks
which can't be made to use a fall-through edge and don't conveniently fit
anywhere nearby get tossed out to the end of the function.
llvm-svn: 84295
Diffstat (limited to 'llvm/lib/Analysis')
0 files changed, 0 insertions, 0 deletions