llvm-6502/lib/Transforms/Utils
Frits van Bommel 5649ba70fb Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior.
I also changed -simplifycfg, -jump-threading and -codegenprepare to use this to produce slightly better code without any extra cleanup passes (AFAICT this was the only place in -simplifycfg where now-dead conditions of replaced terminators weren't being cleaned up). The only other user of this function is -sccp, but I didn't read that thoroughly enough to figure out whether it might be holding pointers to instructions that could be deleted by this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131855 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22 16:24:18 +00:00
..
AddrModeMatcher.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
BasicBlockUtils.cpp Scanning entire basic block may be too expensive in terms of compile time. Instead, just use whatever location info first non-phi instruction has. 2011-05-02 21:57:00 +00:00
BasicInliner.cpp simplify 2010-07-28 15:52:43 +00:00
BreakCriticalEdges.cpp Preserve line number information. 2011-05-17 19:43:06 +00:00
BuildLibCalls.cpp BuildLibCalls: Nuke EmitMemCpy, EmitMemMove and EmitMemSet. They are dead and superseded by IRBuilder. 2010-12-27 00:25:32 +00:00
CloneFunction.cpp Revamp the ValueMapper interfaces in a couple ways: 2011-01-08 08:15:20 +00:00
CloneLoop.cpp Remove code for updating dominance frontiers and some outdated references to 2011-01-18 04:11:31 +00:00
CloneModule.cpp Revamp the ValueMapper interfaces in a couple ways: 2011-01-08 08:15:20 +00:00
CMakeLists.txt Add a new convenience pass for testing InstructionSimplify. Previously 2010-12-20 20:54:37 +00:00
CodeExtractor.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +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 Teach the inliner to emit llvm.lifetime.start/end, to scope the local variables 2011-05-22 05:22:10 +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 Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior. 2011-05-22 16:24:18 +00:00
LoopSimplify.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
LoopUnroll.cpp Don't unroll loops whose header block's address is taken. 2011-02-18 04:25:21 +00:00
LowerInvoke.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +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 Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
SimplifyCFG.cpp Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior. 2011-05-22 16:24:18 +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 Assing line number info to new PHIs created by SSA updater. 2011-04-29 22:28:59 +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 PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00