llvm-6502/test/Transforms
Chris Lattner 10603e0c84 Teach argpromote to ruthlessly hack small byval structs when it can
get away with it, which exposes opportunities to eliminate the memory
objects entirely.  For example, we now compile byval.ll to:

define internal void @f1(i32 %b.0, i64 %b.1) {
entry:
	%tmp2 = add i32 %b.0, 1		; <i32> [#uses=0]
	ret void
}

define i32 @main() nounwind  {
entry:
	call void @f1( i32 1, i64 2 )
	ret i32 0
}

This seems like it would trigger a lot for code that passes around small
structs (e.g. SDOperand's or _Complex)...



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45886 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-11 22:31:41 +00:00
..
ADCE Ding dong, the DoesntAccessMemoryFns and 2007-11-23 19:30:27 +00:00
ArgumentPromotion Teach argpromote to ruthlessly hack small byval structs when it can 2008-01-11 22:31:41 +00:00
BlockPlacement
BranchFolding Don't branch fold inline asm statements. 2007-10-19 21:09:55 +00:00
CodeExtractor
CondProp
ConstantMerge
ConstProp Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros. 2007-11-23 22:42:31 +00:00
CorrelatedExprs
DeadArgElim Make DAE not wipe out attributes on calls, and not drop 2007-12-21 19:16:16 +00:00
DeadStoreElimination Fix test/Transforms/DeadStoreElimination/PartialStore.ll, which had been 2007-11-01 05:29:16 +00:00
DecomposeMultiDimRefs
GCSE
GlobalDCE
GlobalOpt Fix PR1896 2008-01-04 05:04:53 +00:00
GVN
GVNPRE
IndVarsSimplify Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops. 2007-11-25 22:41:31 +00:00
Inline When inlining a functino with a byval argument, make an explicit 2008-01-11 06:09:30 +00:00
InstCombine Implement PR1795, an instcombine hack for forming GEPs with integer pointer arithmetic. 2008-01-08 07:23:51 +00:00
IPConstantProp
LCSSA
LICM Update this testcase. The output needs to be disabled to pass. 2008-01-01 01:34:36 +00:00
LoopIndexSplit If ExitValue operand is also defined in Loop header then 2007-12-03 19:17:21 +00:00
LoopRotate Ding dong, the DoesntAccessMemoryFns and 2007-11-23 19:30:27 +00:00
LoopSimplify Fix PR1752 and LoopSimplify/2007-10-28-InvokeCrash.ll: terminators 2007-10-29 02:30:37 +00:00
LoopStrengthReduce
LoopUnroll If a value is incoming from outside the loop then the value does not need remapping and the value is never tracked through LastValueMap. 2007-11-05 19:32:30 +00:00
LoopUnswitch Fix bug in updating dominance frontier after loop 2007-10-05 22:29:34 +00:00
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
PredicateSimplifier Excuse me. 2007-09-20 00:57:00 +00:00
PruneEH Make PruneEH update the nounwind/noreturn attributes 2007-12-10 19:09:40 +00:00
RaiseAllocations Do not raise free() call that is called through invoke instruction. 2007-10-17 20:12:58 +00:00
Reassociate
ScalarRepl Change uses of getTypeSize to getABITypeSize, getTypeStoreSize 2007-11-04 14:43:57 +00:00
SCCP
SimplifyCFG don't hoist FP additions into unconditional adds + selects. This 2008-01-03 07:25:26 +00:00
SimplifyLibCalls
TailCallElim
TailDup