1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/Transforms
Chris Lattner a1246ba8ed 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)...

llvm-svn: 45886
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 Convert .cvsignore files 2007-06-29 16:35:07 +00:00
BranchFolding Don't branch fold inline asm statements. 2007-10-19 21:09:55 +00:00
CodeExtractor Convert .cvsignore files 2007-06-29 16:35:07 +00:00
CondProp Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll 2007-08-02 04:47:05 +00:00
ConstantMerge Convert .cvsignore files 2007-06-29 16:35:07 +00:00
ConstProp Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros. 2007-11-23 22:42:31 +00:00
CorrelatedExprs Convert .cvsignore files 2007-06-29 16:35:07 +00:00
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 Convert .cvsignore files 2007-06-29 16:35:07 +00:00
GCSE Convert .cvsignore files 2007-06-29 16:35:07 +00:00
GlobalDCE Convert .cvsignore files 2007-06-29 16:35:07 +00:00
GlobalOpt Fix PR1896 2008-01-04 05:04:53 +00:00
GVN Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
GVNPRE For PR1553: 2007-07-19 23:13:04 +00:00
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 Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LCSSA Bunch of tests to check loop passes. 2007-07-31 08:04:17 +00:00
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 Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
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 Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LowerSetJmp Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LowerSwitch Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
Mem2Reg Don't promote volatile loads/stores. This is needed (for example) to handle setjmp/longjmp properly. 2007-08-26 21:43:30 +00:00
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 Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
ScalarRepl Change uses of getTypeSize to getABITypeSize, getTypeStoreSize 2007-11-04 14:43:57 +00:00
SCCP Change all floating constants that are not exactly 2007-09-05 17:50:36 +00:00
SimplifyCFG don't hoist FP additions into unconditional adds + selects. This 2008-01-03 07:25:26 +00:00
SimplifyLibCalls Convert tests using "grep -c ... | grep ..." to use the count script. 2007-08-15 13:49:33 +00:00
TailCallElim remove obsolete testcase 2007-09-10 23:51:41 +00:00
TailDup Change the x86 assembly output to use tab characters to separate the 2007-07-31 20:11:57 +00:00