llvm-6502/lib/Transforms/Utils
Bill Wendling b29ec06421 Intelligently split the landing pad block.
We have to be careful when splitting the landing pad block, because the
landingpad instruction is required to remain as the first non-PHI of an invoke's
unwind edge. To retain this, we split the block into two blocks, moving the
predecessors within the loop to one block and the remaining predecessors to the
other. The landingpad instruction is cloned into the new blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138015 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-19 00:09:22 +00:00
..
AddrModeMatcher.cpp
BasicBlockUtils.cpp Add SplitLandingPadPredecessors(). 2011-08-19 00:05:40 +00:00
BasicInliner.cpp
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
CloneFunction.cpp
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
CodeExtractor.cpp
DemoteRegToStack.cpp
InlineFunction.cpp Add inlining for the new EH scheme. 2011-08-14 08:01:36 +00:00
InstructionNamer.cpp
LCSSA.cpp
Local.cpp The "landingpad" instruction will never be "trivially" dead. 2011-08-15 20:10:51 +00:00
LoopSimplify.cpp Intelligently split the landing pad block. 2011-08-19 00:09:22 +00:00
LoopUnroll.cpp
LowerExpectIntrinsic.cpp
LowerInvoke.cpp
LowerSwitch.cpp
Makefile
Mem2Reg.cpp
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
SimplifyInstructions.cpp
SSAUpdater.cpp
UnifyFunctionExitNodes.cpp
Utils.cpp
ValueMapper.cpp