llvm-mirror/test/Transforms
Chris Lattner 5eec095b87 Fix PR4834, a tricky case where the inliner would resolve an
indirect function pointer, inline it, then go to delete the body.
The problem is that the callgraph had other references to the function,
though the inliner had no way to know it, so we got a dangling pointer
and an invalid iterator out of the deal.

The fix to this is pretty simple: stop the inliner from deleting the
function by knowing that there are references to it.  Do this by making
CallGraphNodes contain a refcount.  This requires moving deletion of 
available_externally functions to the module-level cleanup sweep where
it belongs.

llvm-svn: 80533
2009-08-31 03:15:49 +00:00
..
ADCE Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
ArgumentPromotion Fix typo. 2009-04-23 04:24:19 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
CondProp Optimize conditional branch on i1 phis with non-constant inputs. 2009-04-14 23:40:03 +00:00
ConstantMerge
ConstProp Remove the vicmp and vfcmp instructions. Because we never had a release with 2009-07-08 03:04:38 +00:00
DeadArgElim aha, DAE does have to think about PHI nodes. Many thanks to "Dr Evil" (aka Duncan) 2009-03-18 16:48:45 +00:00
DeadStoreElimination Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
FunctionAttrs Revert r70876 and add a testcase (@c7) showing the problem: 2009-05-07 18:08:34 +00:00
GlobalDCE Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
GlobalOpt Fix a bug that caused globalopt to miscompile tramp3d: don't miss 2009-08-18 14:58:19 +00:00
GVN Move the re-sort of invalidated NonLocalPointerDeps cache earlier 2009-07-13 17:14:23 +00:00
GVNPRE Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
IndMemRem
IndVarSimplify Special-case static allocas in IndVarSimplify's loop invariant 2009-08-25 17:42:10 +00:00
Inline Fix PR4834, a tricky case where the inliner would resolve an 2009-08-31 03:15:49 +00:00
InstCombine suck a bunch more gep tests into getelementptr.ll and filecheckize them all. 2009-08-30 21:31:34 +00:00
Internalize
IPConstantProp
JumpThreading make jump threading handle lexically identical compare instructions 2009-06-19 16:27:56 +00:00
LCSSA Fix LCSSA to avoid emitting a PHI node for the unwind destination of 2009-06-26 00:31:13 +00:00
LICM rename test 2009-08-30 22:14:17 +00:00
LoopDeletion
LoopIndexSplit Fix PR3913, patch by Jakub Staszak! 2009-08-28 00:43:14 +00:00
LoopRotate Testcase for PR2639. 2009-04-23 04:30:52 +00:00
LoopSimplify Teach LoopSimplify how to merge multiple loop exits into a single exit, 2009-06-27 21:30:38 +00:00
LoopStrengthReduce Tweak this test to be a little less unusual. 2009-06-20 00:40:56 +00:00
LoopUnroll
LoopUnswitch
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
MemCpyOpt Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
MergeFunc Given two identical weak functions, produce one internal function and two weak 2009-06-12 15:56:56 +00:00
PredicateSimplifier
PruneEH Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
RaiseAllocations
Reassociate Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
ScalarRepl Don't crash trying to promote VLAs. 2009-08-17 05:37:31 +00:00
SCCP Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
SimplifyCFG Reapply 79977. 2009-08-28 23:24:31 +00:00
SimplifyLibCalls Add targetdata strings to these tests, since SimplifyLibCalls uses 2009-08-19 23:18:49 +00:00
SRETPromotion
SSI Fix up PHI nodes correctly in the presence of unreachable BBs, part two. Also 2009-08-19 07:16:57 +00:00
StripSymbols
TailCallElim Improve tail call elim to move loads above readonly calls 2009-06-19 04:22:16 +00:00
TailDup Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00