llvm-6502/test/Transforms
Benjamin Kramer 1af132dcf3 LoopVectorizer: Emit memory checks into their own basic block.
This separates the check for "too few elements to run the vector loop" from the
"memory overlap" check, giving a lot nicer code and allowing to skip the memory
checks when we're not going to execute the vector code anyways. We still leave
the decision of whether to emit the memory checks as branches or setccs, but it
seems to be doing a good job. If ugly code pops up we may want to emit them as
separate blocks too. Small speedup on MultiSource/Benchmarks/MallocBench/espresso.

Most of this is legwork to allow multiple bypass blocks while updating PHIs,
dominators and loop info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172902 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-19 13:57:58 +00:00
..
ADCE
ArgumentPromotion
BBVectorize Switch BBVectorize to directly depend on having a TTI analysis. 2013-01-07 10:22:36 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
EarlyCSE There was a switch fall-through in the parser for textual LLVM that caused 2013-01-07 13:32:38 +00:00
FunctionAttrs
GlobalDCE
GlobalOpt Fix TryToShrinkGlobalToBoolean in GlobalOpt, so that it does not discard address spaces. 2013-01-10 10:31:11 +00:00
GVN Memory Dependence Analysis: fix a miscompile that uses DT to approxmiate the 2013-01-04 19:19:47 +00:00
IndVarSimplify
Inline Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 14:04:36 +00:00
InstCombine Reverting r171325 & r172363. This was causing a mis-compile on the self-hosted LTO build bots. 2013-01-17 21:28:46 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM LICM: Hoist insertvalue/extractvalue out of loops. 2013-01-09 18:12:03 +00:00
LoopDeletion
LoopIdiom PR14904: Segmentation fault running pass 'Recognize loop idioms' 2013-01-10 23:32:01 +00:00
LoopRotate
LoopSimplify
LoopStrengthReduce Remove triple from this test, it makes it fail when X86 TTI is missing. 2013-01-16 13:19:59 +00:00
LoopUnroll
LoopUnswitch
LoopVectorize LoopVectorizer: Emit memory checks into their own basic block. 2013-01-19 13:57:58 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc CastInst::castIsValid should return true if the dest type is the same as 2013-01-10 23:22:53 +00:00
MetaRenamer
ObjCARC Added test for r172599 which fixes bugzilla://14584,rdar://11744105. 2013-01-16 21:07:18 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem Make sure we don't emit instructions before a landingpad instruction. 2013-01-08 10:51:32 +00:00
ScalarRepl
SCCP
SimplifyCFG
SimplifyLibCalls
Sink
SROA
StripSymbols
TailCallElim Converted test dont-tce-tail-marked-call.ll to use FileCheck. 2013-01-11 04:16:35 +00:00
TailDup