diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-08-19 00:05:40 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-08-19 00:05:40 +0000 |
commit | ca7d309623a33bf60bf1ae8b86cc1e0bd9ad3f95 (patch) | |
tree | 71e311251b4a98fbbb6653eac0f4c50cf6463de0 /llvm/lib/Transforms/Utils/LoopSimplify.cpp | |
parent | 42f192ad17c1c46b2a6eff934e60061e0fe856a2 (diff) | |
download | bcm5719-llvm-ca7d309623a33bf60bf1ae8b86cc1e0bd9ad3f95.tar.gz bcm5719-llvm-ca7d309623a33bf60bf1ae8b86cc1e0bd9ad3f95.zip |
Add SplitLandingPadPredecessors().
SplitLandingPadPredecessors is similar to SplitBlockPredecessors in that it
splits the current block and attaches a set of predecessors to the new basic
block. However, it differs from SplitBlockPredecessors in that it's specifically
designed to handle landing pad blocks.
Two new basic blocks are created: one that is has the vector of predecessors as
its predecessors and one that has the remaining predecessors as its
predecessors. Those two new blocks then receive a cloned copy of the landingpad
instruction from the original block. The landingpad instructions are joined in a
PHI, etc. Like SplitBlockPredecessors, it updates the LLVM IR, AliasAnalysis,
DominatorTree, DominanceFrontier, LoopInfo, and LCCSA analyses.
llvm-svn: 138014
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopSimplify.cpp')
0 files changed, 0 insertions, 0 deletions