llvm-6502/lib/Transforms/Utils
Chris Lattner 36ba5006df Implement a refinement to the mem2reg algorithm for cases where an alloca
has a single def.  In this case, look for uses that are dominated by the def
and attempt to rewrite them to directly use the stored value.

This speeds up mem2reg on these values and reduces the number of phi nodes
inserted.  This should address PR665.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24411 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-18 07:31:42 +00:00
..
BasicBlockUtils.cpp
BreakCriticalEdges.cpp Teach SplitCriticalEdge to update LoopInfo if it is alive. This fixes 2005-08-13 01:38:43 +00:00
CloneFunction.cpp
CloneModule.cpp Eliminate all remaining tabs and trailing spaces. 2005-07-27 06:12:32 +00:00
CloneTrace.cpp Eliminate tabs and trailing spaces 2005-04-23 21:38:35 +00:00
CodeExtractor.cpp
DemoteRegToStack.cpp Fix DemoteRegToStack on an invoke. This fixes PR634. 2005-10-04 00:44:01 +00:00
InlineFunction.cpp Eliminate all remaining tabs and trailing spaces. 2005-07-27 06:12:32 +00:00
Local.cpp Fix #include order 2005-10-27 16:34:00 +00:00
LoopSimplify.cpp remove dead code. The exit block list is computed on demand, thus does not 2005-08-13 01:30:36 +00:00
LowerAllocations.cpp When a function takes a variable number of pointer arguments, with a zero 2005-10-23 04:37:20 +00:00
LowerInvoke.cpp Add support alignment of allocation instructions. 2005-11-05 09:21:28 +00:00
LowerSelect.cpp
LowerSwitch.cpp
Makefile Move some constant folding code shared by Analysis and Transform passes 2005-10-27 15:54:34 +00:00
Mem2Reg.cpp
PromoteMemoryToRegister.cpp Implement a refinement to the mem2reg algorithm for cases where an alloca 2005-11-18 07:31:42 +00:00
SimplifyCFG.cpp Clean up the code a bit. Use isInstructionTriviallyDead to be more aggressive 2005-10-03 23:43:43 +00:00
UnifyFunctionExitNodes.cpp
ValueMapper.cpp
ValueMapper.h