llvm/lib/Transforms/IPO
Matthijs Kooijman ca85d65277 Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of
dependencies between return values and/or arguments. Also make the handling of
arguments and return values the same.

The pass now looks properly inside returned structs, but only at the first                                                                                     
level (ie, not inside nested structs).

Also add a testcase for testing various variations of (multiple) dead rerturn
values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52459 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-18 11:12:53 +00:00
..
ArgumentPromotion.cpp convert more operand loops to iterator formulation 2008-05-29 01:59:18 +00:00
ConstantMerge.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
DeadArgumentElimination.cpp Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of 2008-06-18 11:12:53 +00:00
DeadTypeElimination.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ExtractGV.cpp Factor code to copy global value attributes like 2008-05-26 19:58:59 +00:00
GlobalDCE.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
GlobalOpt.cpp convert more operand loops to iterator formulation 2008-05-29 01:59:18 +00:00
IndMemRemoval.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
Inliner.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
InlineSimple.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
Internalize.cpp Simplify internalize pass. Add test case. 2008-05-14 20:01:01 +00:00
IPConstantPropagation.cpp Reapply r52397 (make IPConstProp promote returned arguments), but fixed this 2008-06-18 08:30:37 +00:00
LoopExtractor.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
LowerSetJmp.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
Makefile
PruneEH.cpp Less conservative verison of previous patch, 2008-05-16 23:18:52 +00:00
RaiseAllocations.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
StripDeadPrototypes.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
StripSymbols.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
StructRetPromotion.cpp Let StructRetPromotion check if all if its users are really calls or invokesn, 2008-06-05 08:57:20 +00:00