1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib/Transforms/Utils
Bill Wendling 3079e1ccda 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
2011-08-19 00:05:40 +00:00
..
AddrModeMatcher.cpp land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
BasicBlockUtils.cpp Add SplitLandingPadPredecessors(). 2011-08-19 00:05:40 +00:00
BasicInliner.cpp simplify 2010-07-28 15:52:43 +00:00
BreakCriticalEdges.cpp Assert that we aren't trying to split the critical edge of a landing pad. Doing 2011-08-17 21:04:05 +00:00
BuildLibCalls.cpp land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
CloneFunction.cpp Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall. 2011-07-19 13:32:40 +00:00
CloneModule.cpp Fix llvm::CloneModule to correctly clone globals. Patch per bug report by Simon Moll on llvmdev. 2011-08-15 21:05:06 +00:00
CMakeLists.txt Update CMake build. 2011-08-10 03:51:58 +00:00
CodeExtractor.cpp Convert GetElementPtrInst to use ArrayRef. 2011-07-25 09:48:08 +00:00
DemoteRegToStack.cpp Change all self assignments X=X to (void)X, so that we can turn on a 2010-12-23 00:58:24 +00:00
InlineFunction.cpp Add inlining for the new EH scheme. 2011-08-14 08:01:36 +00:00
InstructionNamer.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LCSSA.cpp There is no need to force DebugLoc on a PHI at this point. 2011-05-16 22:05:03 +00:00
Local.cpp The "landingpad" instruction will never be "trivially" dead. 2011-08-15 20:10:51 +00:00
LoopSimplify.cpp Revert r137871. The loop simplify pass should require all exits from a loop that 2011-08-18 21:10:01 +00:00
LoopUnroll.cpp Comments. Thanks for the spell check Nick! 2011-08-10 18:07:05 +00:00
LowerExpectIntrinsic.cpp land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
LowerInvoke.cpp switch to use the new api for structtypes. 2011-08-12 18:06:37 +00:00
LowerSwitch.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
Mem2Reg.cpp Remove outdated references to dominance frontiers. 2011-01-18 03:53:26 +00:00
PromoteMemoryToRegister.cpp Add comments and test for atomic load/store and mem2reg. 2011-08-15 23:55:52 +00:00
SimplifyCFG.cpp I think there was some confusion about what I meant. :-) Replacing the comment. 2011-08-16 20:41:17 +00:00
SimplifyIndVar.cpp Comments. Thanks for the spell check Nick! 2011-08-10 18:07:05 +00:00
SimplifyInstructions.cpp Speed up instsimplify by about 10-15% by not bothering to retry 2011-01-03 10:50:04 +00:00
SSAUpdater.cpp land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
UnifyFunctionExitNodes.cpp Remove PHINode::reserveOperandSpace(). Instead, add a parameter to 2011-03-30 11:28:46 +00:00
Utils.cpp Add a new convenience pass for testing InstructionSimplify. Previously 2010-12-20 20:54:37 +00:00
ValueMapper.cpp We need to map DebugLoc. It leads to Fuction * (through subprogram entry node) which should be appropriately mapped. 2011-08-04 20:02:18 +00:00