mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
72f5f313d8
Change PHINodes to store simple pointers to their incoming basic blocks, instead of full-blown Uses. Note that this loses an optimization in SplitCriticalEdge(), because we can no longer walk the use list of a BasicBlock to find phi nodes. See the comment I removed starting "However, the foreach loop is slow for blocks with lots of predecessors". Extend replaceAllUsesWith() on a BasicBlock to also update any phi nodes in the block's successors. This mimics what would have happened when PHINodes were proper Users of their incoming blocks. (Note that this only works if OldBB->replaceAllUsesWith(NewBB) is called when OldBB still has a terminator instruction, so it still has some successors.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133435 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AddrModeMatcher.cpp | ||
BasicBlockUtils.cpp | ||
BasicInliner.cpp | ||
BreakCriticalEdges.cpp | ||
BuildLibCalls.cpp | ||
CloneFunction.cpp | ||
CloneModule.cpp | ||
CMakeLists.txt | ||
CodeExtractor.cpp | ||
DemoteRegToStack.cpp | ||
InlineFunction.cpp | ||
InstructionNamer.cpp | ||
LCSSA.cpp | ||
Local.cpp | ||
LoopSimplify.cpp | ||
LoopUnroll.cpp | ||
LowerInvoke.cpp | ||
LowerSwitch.cpp | ||
Makefile | ||
Mem2Reg.cpp | ||
PromoteMemoryToRegister.cpp | ||
SimplifyCFG.cpp | ||
SimplifyInstructions.cpp | ||
SSAUpdater.cpp | ||
UnifyFunctionExitNodes.cpp | ||
Utils.cpp | ||
ValueMapper.cpp |