llvm-6502/test/Transforms
James Molloy 72035e9a8e Teach the SLP Vectorizer that keeping some values live over a callsite can have a cost.
Some types, such as 128-bit vector types on AArch64, don't have any callee-saved registers. So if a value needs to stay live over a callsite, it must be spilled and refilled. This cost is now taken into account.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214859 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-05 12:30:34 +00:00
..
ADCE
AddDiscriminators
ArgumentPromotion ArgPromo+DebugInfo: Handle updating debug info over multiple applications of argument promotion. 2014-07-23 22:09:29 +00:00
AtomicExpandLoadLinked/ARM
BBVectorize
BranchFolding
CodeExtractor
CodeGenPrepare CodeGenPrep: fall back to MVT::Other if instruction's type isn't an EVT. 2014-07-29 10:20:22 +00:00
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
DebugIR
EarlyCSE
FunctionAttrs
GCOVProfiling
GlobalDCE Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
GlobalOpt Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
GVN Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IndVarSimplify
Inline Convert noalias parameter attributes into noalias metadata during inlining 2014-07-25 15:50:08 +00:00
InstCombine This patch implements transform for pattern "(A & ~B) ^ (~A) -> ~(A & B)". 2014-08-01 05:07:20 +00:00
InstMerge
InstSimplify InstSimplify: Simplify (X - (0 - Y)) if the second sub is NUW 2014-07-31 04:49:18 +00:00
Internalize Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IPConstantProp
JumpThreading
LCSSA
LICM Make Value::isDereferenceablePointer handle offsets to pointer types with dereferenceable attributes 2014-07-19 03:25:16 +00:00
LoadCombine
LoopDeletion
LoopIdiom
LoopReroll
LoopRotate
LoopSimplify
LoopStrengthReduce
LoopUnroll After unrolling a loop with llvm.loop.unroll.count metadata (unroll factor 2014-07-24 22:36:40 +00:00
LoopUnswitch
LoopVectorize Add diagnostics to the vectorizer cost model. 2014-08-02 00:14:03 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
ObjCARC
PartiallyInlineLibCalls PartiallyInlineLibCalls: Check sqrt result type before transforming it. 2014-08-01 23:21:21 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
SampleProfile
Scalarizer
ScalarRepl
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG [SimplifyCFG] fix accessing deleted PHINodes in switch-to-table conversion. 2014-08-02 23:41:54 +00:00
Sink
SLPVectorizer Teach the SLP Vectorizer that keeping some values live over a callsite can have a cost. 2014-08-05 12:30:34 +00:00
SROA
StripSymbols
StructurizeCFG
TailCallElim We may visit a call that uses an alloca multiple times in callUsesLocalStack, sometimes with IsNocapture true and sometimes with IsNocapture false. We accidentally skipped work we needed to do in the IsNocapture=false case if we were called with IsNocapture=true the first time. Fixes PR20405! 2014-07-23 06:24:49 +00:00
TailDup