llvm-6502/test/Transforms
Chandler Carruth 93228f6199 [vectorizer] Tweak the way we do small loop runtime unrolling in the
loop vectorizer to not do so when runtime pointer checks are needed and
share code with the new (not yet enabled) load/store saturation runtime
unrolling. Also ensure that we only consider the runtime checks when the
loop hasn't already been vectorized. If it has, the runtime check cost
has already been paid.

I've fleshed out a test case to cover the scalar unrolling as well as
the vector unrolling and comment clearly why we are or aren't following
the pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200530 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-31 10:51:08 +00:00
..
ADCE
ArgumentPromotion Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
BBVectorize
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantHoisting/X86 ConstantHoisting: We can't insert instructions directly in front of a PHI node. 2014-01-27 13:11:43 +00:00
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
DebugIR
EarlyCSE
FunctionAttrs Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
GCOVProfiling
GlobalDCE
GlobalOpt
GVN
IndVarSimplify [LPM] Fix PR18642, a pretty nasty bug in IndVars that "never mattered" 2014-01-29 04:40:19 +00:00
Inline
InstCombine Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM
LoopDeletion
LoopIdiom
LoopReroll
LoopRotate [LPM] Fix PR18643, another scary place where loop transforms failed to 2014-01-29 13:16:53 +00:00
LoopSimplify
LoopStrengthReduce
LoopUnroll
LoopUnswitch
LoopVectorize [vectorizer] Tweak the way we do small loop runtime unrolling in the 2014-01-31 10:51:08 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC Fix known typos 2014-01-24 17:20:08 +00:00
PhaseOrdering
PruneEH
Reassociate [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Reg2Mem
SampleProfile
Scalarizer
ScalarRepl
SCCP
SimplifyCFG Allow speculating llvm.sqrt, fma and fmuladd 2014-01-31 00:09:00 +00:00
Sink
SLPVectorizer
SROA
StripSymbols
StructurizeCFG
TailCallElim
TailDup