llvm/test/Transforms
Chandler Carruth 07df765e65 PR14055: Implement support for sub-vector operations in SROA.
Now if we can transform an alloca into a single vector value, but it has
subvector, non-element accesses, we form the appropriate shufflevectors
to allow SROA to proceed. This fixes PR14055 which pointed out a very
common pattern that SROA couldn't handle -- mixed vec3 and vec4
operations on a single alloca.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168418 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 08:16:30 +00:00
..
ADCE
ArgumentPromotion
BBVectorize BBVectorize: Don't vectorize vector-manipulation chains 2012-11-13 03:12:40 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
EarlyCSE
FunctionAttrs
GlobalDCE
GlobalOpt Constant::IsThreadDependent(): Use dyn_cast<Constant> instead of cast 2012-11-16 10:33:25 +00:00
GVN llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
IndVarSimplify Fix SCEV cache invalidation in LCSSA and LoopSimplify. 2012-10-26 17:31:43 +00:00
Inline Figure out <size> argument of llvm.lifetime intrinsics at the moment they are created (during function inlining) 2012-11-13 07:15:32 +00:00
InstCombine Don't try to calculate the alignment of an unsigned type. Fixes PR14371! 2012-11-18 05:39:39 +00:00
InstSimplify InstructionSimplify should be able to simplify A+B==B+A to 'true' 2012-11-16 19:41:26 +00:00
Internalize Change the internalize pass to internalize all symbols when given an empty 2012-10-26 18:47:48 +00:00
IPConstantProp
JumpThreading Add a test case for PR14233. 2012-11-01 10:26:36 +00:00
LCSSA
LICM Set %defaultjit to use MCJIT for PowerPC targets. 2012-10-30 18:07:58 +00:00
LoopDeletion
LoopIdiom Add a testcase to loop-idiom to cover PR14241 when we start handling 2012-11-02 08:40:24 +00:00
LoopRotate
LoopSimplify
LoopStrengthReduce
LoopUnroll getSmallConstantTripMultiple should never return zero. 2012-10-24 19:46:44 +00:00
LoopUnswitch
LoopVectorize LoopVectorizer: Add initial support for pointer induction variables (for example: *dst++ = *src++). 2012-11-17 00:27:03 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC
PhaseOrdering
PruneEH
Reassociate Fix PR14060, an infinite loop in reassociate. The problem was that one of the 2012-11-18 19:27:01 +00:00
ScalarRepl
SCCP llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
SimplifyCFG Only do switch-to-lookup table transformation when TargetTransformInfo 2012-11-07 21:35:12 +00:00
SimplifyLibCalls instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
Sink
SROA PR14055: Implement support for sub-vector operations in SROA. 2012-11-21 08:16:30 +00:00
StripSymbols
TailCallElim Revert r166407 because it caused analyzer tests to crash and broke self-host bots. 2012-10-22 18:16:14 +00:00
TailDup