llvm-6502/test/Transforms
Cameron Zwarich 85b0f468cf Only convert allocas to scalars if it is profitable. The profitability metric I
chose is having a non-memcpy/memset use and being larger than any native integer
type. Originally I chose having an access of a size smaller than the total size
of the alloca, but this caused some minor issues on the spirit benchmark where
SRoA runs again after some inlining.

This fixes <rdar://problem/8613163>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127718 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-16 00:13:44 +00:00
..
ADCE
ArgumentPromotion fix PR8932, a case where arg promotion could infinitely promote. 2011-01-16 08:09:24 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare Roll r127459 back in: 2011-03-11 21:52:04 +00:00
ConstantMerge Don't merge two constants if we care about the address of both. 2011-01-16 17:05:09 +00:00
ConstProp When loading from a constant, fold inttoptr if the integer type and the resulting pointer type both have the same size. 2011-02-06 20:11:56 +00:00
CorrelatedValuePropagation Test for lazy value info's ability to prove the absense of NULLs in pointers. 2011-01-16 21:57:20 +00:00
DeadArgElim Add an obvious missing safety check to DAE::RemoveDeadArgumentsFromCallers. 2011-03-01 00:33:47 +00:00
DeadStoreElimination
EarlyCSE Duncan deftly points out that readnone functions aren't 2011-01-03 23:38:13 +00:00
FunctionAttrs
GlobalDCE
GlobalOpt Add unnamed_addr when we can show that address of a global is not used. 2011-01-19 16:32:21 +00:00
GVN Give GVN back the ability to perform simple conditional propagation on conditional branch values. 2010-12-21 23:54:34 +00:00
IndVarSimplify
Inline relax testcase a bit. 2011-01-14 07:46:33 +00:00
InstCombine If we don't know how long a string is we can't fold an _chk version to the 2011-03-15 00:25:41 +00:00
InstSimplify Teach ComputeMaskedBits about sub nsw. 2011-03-12 17:18:11 +00:00
Internalize Add test for r127138. 2011-03-07 21:28:14 +00:00
IPConstantProp
JumpThreading Fix PR9331. Simplified version of a patch by Jakub Staszak. 2011-03-08 12:39:03 +00:00
LCSSA Do not add PHIs with no users when creating LCSSA form. Patch by Andrew Clinton. 2011-03-15 07:41:25 +00:00
LICM While sinking an instruction, do not lose llvm.dbg.value intrinsic. 2011-03-08 03:06:19 +00:00
LoopDeletion Make LoopDeletion work on loops with multiple edges, as long as the incoming 2011-02-22 22:25:39 +00:00
LoopIdiom Preserve line no. info. 2011-03-07 22:43:45 +00:00
LoopRotate Do not hoist @llvm.dbg.value. Here, @llvm.dbg.value is "referring" a value that is modified inside loop. 2011-02-14 23:03:23 +00:00
LoopSimplify Rename 'loopsimplify' to 'loop-simplify'. 2011-02-10 23:38:10 +00:00
LoopStrengthReduce Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. Patch 2011-02-20 08:38:20 +00:00
LoopUnroll add a testcase for r125827 2011-02-18 05:05:01 +00:00
LoopUnswitch
LowerAtomic
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt Actually check memcpy lengths, instead of just commenting about 2011-01-21 22:07:57 +00:00
MergeFunc When removing a function from the function set and adding it to deferred, we 2011-02-09 06:32:02 +00:00
PruneEH
Reassociate Fix reassociate to postpone certain instruction deletions until 2011-03-10 19:51:54 +00:00
ScalarRepl Only convert allocas to scalars if it is profitable. The profitability metric I 2011-03-16 00:13:44 +00:00
SCCP
SimplifyCFG PR9450: Make switch optimization in SimplifyCFG not dependent on the ordering 2011-03-15 02:23:35 +00:00
SimplifyLibCalls Preserve line number information while simplifying libcalls. 2011-03-09 21:27:52 +00:00
Sink
SRETPromotion
StripSymbols
TailCallElim Add a test for TCE return duplication. 2011-01-29 04:53:35 +00:00
TailDup