1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib/Transforms/Utils
Dan Gohman a79cce4aef Previously, RecursivelyDeleteDeadInstructions provided an option
of returning a list of pointers to Values that are deleted. This was
unsafe, because the pointers in the list are, by nature of what
RecursivelyDeleteDeadInstructions does, always dangling. Replace this
with a simple callback mechanism. This may eventually be removed if
all clients can reasonably be expected to use CallbackVH.

Use this to factor out the dead-phi-cycle-elimination code from LSR
utility function, and generalize it to use the
RecursivelyDeleteTriviallyDeadInstructions utility function.

This makes LSR more aggressive about eliminating dead PHI cycles;
adjust tests to either be less trivial or to simply expect fewer
instructions.

llvm-svn: 70636
2009-05-02 18:29:22 +00:00
..
AddrModeMatcher.cpp Fix compiler warning about uninitialized variables. No functional change. 2009-02-27 06:29:31 +00:00
BasicBlockUtils.cpp Previously, RecursivelyDeleteDeadInstructions provided an option 2009-05-02 18:29:22 +00:00
BasicInliner.cpp Changed option name from inline-threshold to basic-inline-threshold because 2009-02-23 07:07:56 +00:00
BreakCriticalEdges.cpp Rename getAnalysisToUpdate to getAnalysisIfAvailable. 2009-01-28 13:14:17 +00:00
CloneFunction.cpp While inlining, clone llvm.dbg.func.start intrinsic and adjust 2009-04-15 00:17:06 +00:00
CloneLoop.cpp Rename getAnalysisToUpdate to getAnalysisIfAvailable. 2009-01-28 13:14:17 +00:00
CloneModule.cpp Don't drop alignment on globals when cloning. 2008-10-09 06:27:14 +00:00
CloneTrace.cpp Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989 2008-04-25 16:53:59 +00:00
CMakeLists.txt Add AddrModeMatcher.cpp 2009-02-21 07:05:11 +00:00
CodeExtractor.cpp Fix PR2929 by making bugpoint/code extract propagate the nothrow 2008-12-18 05:52:56 +00:00
DemoteRegToStack.cpp Fix warning when assertions disabled. 2008-06-21 19:49:01 +00:00
InlineCost.cpp use predicate instead of hand-rolled loop 2009-04-21 23:37:18 +00:00
InlineFunction.cpp While inlining, clone llvm.dbg.func.start intrinsic and adjust 2009-04-15 00:17:06 +00:00
InstructionNamer.cpp make instnamer name unnamed blocks as well as instructions and args. 2008-12-18 00:33:11 +00:00
LCSSA.cpp Real fix for PR3549, by using caching for predecessor counts in addition to the predecessors themselves. This halves the time 2009-04-22 08:50:12 +00:00
Local.cpp Previously, RecursivelyDeleteDeadInstructions provided an option 2009-05-02 18:29:22 +00:00
LoopSimplify.cpp Rename getAnalysisToUpdate to getAnalysisIfAvailable. 2009-01-28 13:14:17 +00:00
LowerAllocations.cpp Rename getABITypeSize to getTypePaddedSize, as 2009-01-12 20:38:59 +00:00
LowerInvoke.cpp remove trailing whitespace 2009-04-17 23:30:55 +00:00
LowerSwitch.cpp Now that errs() is properly non-buffered, there's no need to 2009-03-23 15:57:19 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Mem2Reg.cpp Just roll back the previous change to -mem2reg. 2009-02-20 17:49:33 +00:00
PromoteMemoryToRegister.cpp Fix for PR3944: make mem2reg O(N) instead of O(N^2) in the number of 2009-04-16 21:40:28 +00:00
SimplifyCFG.cpp Fix comment typo. 2009-03-19 17:23:29 +00:00
UnifyFunctionExitNodes.cpp Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
UnrollLoop.cpp Factor some code into a new FoldSingleEntryPHINodes method. 2008-12-03 19:44:02 +00:00
ValueMapper.cpp rewrite operand loops to use iterators 2008-05-30 21:24:22 +00:00