llvm-6502/test/Transforms
Matthijs Kooijman d16918f843 Restructure dead argument elimination, try #3 :-)
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).

This version fixed a few more bugs and was cleaned up a bit. It now passes all
of LLVM's testing, and should still pass SPEC2006. There is still a minor bug
with regard to returning nested structs. Since there is currently nothing that
emits such IR, I will fix that in a seperate commit (partly because it requires
a non-trivial fix).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53400 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-10 10:24:08 +00:00
..
ADCE Remove the ability for ADCE to remove unreachable blocks in loop nests, because, as Eli pointed out, SimplifyCFG already does this. 2008-07-03 17:21:41 +00:00
ArgumentPromotion Fix two more not-grep tests that were missing llvm-dis. 2008-06-09 22:36:45 +00:00
BlockPlacement Let some more tests ignore expected output on stderr. 2008-06-10 15:04:14 +00:00
BranchFolding
CodeExtractor
CondProp
ConstantMerge
ConstProp Fix a case where vector comparison constant folding would cause an 2008-07-10 00:29:28 +00:00
DeadArgElim Restructure dead argument elimination, try #3 :-) 2008-07-10 10:24:08 +00:00
DeadStoreElimination
GCSE
GlobalDCE
GlobalOpt
GVN A better fix for PR2503 that doesn't pessimize GVN in the presence of unreachable blocks. 2008-07-02 17:20:16 +00:00
GVNPRE
IndVarsSimplify Fix PR2434. When scanning for exising binary operator to reuse don't 2008-06-15 19:07:39 +00:00
Inline Let some more tests ignore expected output on stderr. 2008-06-10 15:04:14 +00:00
InstCombine Fix overzealous optimization. Thanks to Duncan Sands for pointing out my error! 2008-07-10 05:51:40 +00:00
Internalize Let some more tests ignore expected output on stderr. 2008-06-10 15:04:14 +00:00
IPConstantProp Modify some ipconstprop tests to also test with invokes. 2008-06-19 09:27:44 +00:00
JumpThreading
LCSSA
LICM
LoopDeletion
LoopIndexSplit If loop induction variable's start value is less then its exit value then do not split the loop. 2008-07-09 00:12:01 +00:00
LoopRotate
LoopSimplify
LoopStrengthReduce Improve LSR's dead-phi detection to handle use-def cycles 2008-06-22 20:44:02 +00:00
LoopUnroll Revert 52645, the loop unroller changes. It caused a regression in 252.eon. 2008-06-24 20:44:42 +00:00
LoopUnswitch Preserve dominance frontier while trivially unswitching loop. 2008-06-18 02:16:38 +00:00
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt Fix two issues that Eli Friedman pointed out, where would misoptimized code like: 2008-06-01 22:26:26 +00:00
PredicateSimplifier
PruneEH Test that prune-eh doesn't make deductions based 2008-06-09 11:28:41 +00:00
RaiseAllocations
Reassociate Let some more tests ignore expected output on stderr. 2008-06-10 15:04:14 +00:00
ScalarRepl Fix PR2369 by making scalarrepl more careful about promoting 2008-06-22 17:46:21 +00:00
SCCP
SimplifyCFG Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e. 2008-06-07 08:52:29 +00:00
SimplifyLibCalls lower calls to abs to inline code, PR2337 2008-06-09 08:26:51 +00:00
SRETPromotion Let StructRetPromotion check if all if its users are really calls or invokesn, 2008-06-05 08:57:20 +00:00
StripSymbols
TailCallElim
TailDup Revert 52223. 2008-06-12 20:55:39 +00:00