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 | e2996ee5c9a9e0c05141675726ba67d5484c541e (patch) | |
tree | 685f68f1e94d5709d9ed435f014e28ee9376b941 /lib/Analysis/InstCount.cpp | |
parent | 20c851251fd60708146d2ece04972eb6ce4e3deb (diff) | |
download | external_llvm-e2996ee5c9a9e0c05141675726ba67d5484c541e.zip external_llvm-e2996ee5c9a9e0c05141675726ba67d5484c541e.tar.gz external_llvm-e2996ee5c9a9e0c05141675726ba67d5484c541e.tar.bz2 |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84295 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/InstCount.cpp')
0 files changed, 0 insertions, 0 deletions