llvm-6502/lib/Transforms/Utils
Chris Lattner f12f8def39 rewrite the code used to construct pruned SSA form with the IDF method.
In the old way, we computed and inserted phi nodes for the whole IDF of 
the definitions of the alloca, then computed which ones were dead and
removed them.

In the new method, we first compute the region where the value is live,
and use that information to only insert phi nodes that are live.  This
eliminates the need to compute liveness later, and stops the algorithm
from inserting a bunch of phis which it then later removes.

This speeds up the testcase in PR1432 from 2.00s to 0.15s (14x) in a
release build and 6.84s->0.50s (14x) in a debug build.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40825 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 22:50:14 +00:00
..
BasicBlockUtils.cpp
BasicInliner.cpp Use SmallPtrSet. 2007-07-27 18:34:27 +00:00
BreakCriticalEdges.cpp
CloneFunction.cpp
CloneModule.cpp During module cloning copy aliases too. This fixes PR1544 2007-07-10 19:07:35 +00:00
CloneTrace.cpp
CodeExtractor.cpp New CallInst interface to address GLIBCXX_DEBUG errors caused by 2007-08-01 03:43:44 +00:00
DemoteRegToStack.cpp
InlineCost.cpp Use SmallPtrSet. 2007-07-27 18:34:27 +00:00
InlineFunction.cpp
LCSSA.cpp LCSSA preserves dom info. 2007-07-30 20:23:45 +00:00
Local.cpp Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead 2007-07-26 16:06:08 +00:00
LoopSimplify.cpp Verify loop info. 2007-07-19 18:02:32 +00:00
LowerAllocations.cpp More explicit keywords. 2007-08-01 15:32:29 +00:00
LowerInvoke.cpp More explicit keywords. 2007-08-01 15:32:29 +00:00
LowerSelect.cpp More explicit keywords. 2007-08-01 15:32:29 +00:00
LowerSwitch.cpp
Makefile
Mem2Reg.cpp
PromoteMemoryToRegister.cpp rewrite the code used to construct pruned SSA form with the IDF method. 2007-08-04 22:50:14 +00:00
SimplifyCFG.cpp New CallInst interface to address GLIBCXX_DEBUG errors caused by 2007-08-01 03:43:44 +00:00
UnifyFunctionExitNodes.cpp
ValueMapper.cpp
ValueMapper.h