llvm-project/llvm/test/Transforms
Mohammad Shahid 3121334d32 [SLP] Vectorize loads of consecutive memory accesses, accessed in non-consecutive (jumbled) way.
The jumbled scalar loads will be sorted while building the tree and these accesses will be marked to generate shufflevector after the vectorized load with proper mask.

Reviewers: hfinkel, mssimpso, mkuper

Differential Revision: https://reviews.llvm.org/D26905

Change-Id: I9c0c8e6f91a00076a7ee1465440a3f6ae092f7ad
llvm-svn: 293386
2017-01-28 17:59:44 +00:00
..
ADCE [ADCE] Add code to remove dead branches 2016-12-13 16:42:18 +00:00
AddDiscriminators Introduce updateDiscriminator interface to DILocation to make it cleaner assigning discriminators. 2016-10-26 15:48:45 +00:00
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand
BBVectorize Introduce -unroll-partial-threshold to separate PartialThreshold from Threshold in loop unorller. 2017-01-17 23:39:33 +00:00
BDCE [BDCE] Skip metadata while replacing uses. 2016-12-07 21:47:32 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare [Analysis] Centralize objectsize lowering logic. 2016-12-20 23:46:36 +00:00
ConstProp [InstCombiner] Simplify lib calls to `round{,f}` 2016-12-26 14:29:29 +00:00
ConstantHoisting
ConstantMerge
Coroutines [coroutines] Spill the result of the invoke instruction correctly 2017-01-25 02:25:54 +00:00
CorrelatedValuePropagation Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
CountingFunctionInserter Add a counter-function insertion pass 2016-09-01 09:42:39 +00:00
CrossDSOCFI
DCE llvm/test/Transforms/DCE/calls-errno.ll: Suppress checking @pow(+0,-1). 2016-11-04 18:50:45 +00:00
DeadArgElim DeadArgElim: Don't mark swifterror arguments as unused 2016-09-21 15:29:08 +00:00
DeadStoreElimination [DSE] Don't remove stores made live by a call which unwinds. 2016-08-12 01:09:53 +00:00
EarlyCSE [EarlyCSE] Don't DSE across readnone functions that may throw 2017-01-17 20:15:47 +00:00
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs IR, X86: Understand !absolute_symbol metadata on global variables. 2016-12-08 19:01:00 +00:00
FunctionImport [ThinLTO] Ensure callees get hot threshold when first seen on cold path 2016-12-15 18:21:01 +00:00
GCOVProfiling [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
GVN [AliasAnalysis] Fences do not modify constant memory location 2017-01-20 00:21:33 +00:00
GVNHoist Remove the load hoisting code of MLSM, it is completely subsumed by GVNHoist 2017-01-24 19:55:36 +00:00
GlobalDCE [PH] Replace uses of AssertingVH from members of analysis results with 2017-01-24 12:55:57 +00:00
GlobalMerge Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
GlobalOpt Fix some broken CHECK lines. 2017-01-22 20:28:56 +00:00
GlobalSplit [GlobalSplit] Port to the new pass manager. 2016-11-21 00:28:23 +00:00
GuardWidening
IPConstantProp
IRCE [IRCE] Avoid loop optimizations on pre and post loops 2016-12-13 21:05:21 +00:00
IndVarSimplify [IndVars] Change the order to compute WidenAddRec in widenIVUse. 2016-11-15 17:34:52 +00:00
InferFunctionAttrs [InferAttributes] Don't access parameters that don't exist. 2016-09-20 23:10:31 +00:00
Inline [PH] Replace uses of AssertingVH from members of analysis results with 2017-01-24 12:55:57 +00:00
InstCombine [InstCombine] move icmp transforms that might be recognized as min/max and inf-loop (PR31751) 2017-01-27 23:26:27 +00:00
InstMerge Remove the load hoisting code of MLSM, it is completely subsumed by GVNHoist 2017-01-24 19:55:36 +00:00
InstSimplify [ValueTracking] Implement SignBitMustBeZero correctly for sqrt. 2017-01-26 00:10:26 +00:00
InterleavedAccess [ARM/AArch64] Relocate and update InterleavedAccessPass tests (NFC) 2017-01-27 17:33:16 +00:00
Internalize
JumpThreading [PM] Replace the hard invalidate in JumpThreading for LVI with correct 2017-01-23 08:33:24 +00:00
LCSSA
LICM [LICM] When we are recomputing the alias sets for a subloop, we cannot 2017-01-27 10:27:32 +00:00
LoadCombine
LoadStoreVectorizer [LoadStoreVectorizer] Enable vectorization of stores in the presence of an aliasing load 2016-11-23 17:43:15 +00:00
LoopDataPrefetch [PM] Port LoopDataPrefetch AArch64 tests to new pass manager 2016-08-22 12:59:58 +00:00
LoopDeletion [PM] Teach LoopDeletion to correctly update the LPM when loops are 2017-01-18 02:41:26 +00:00
LoopDistribute Move test of lazy BFI with ORE to a generic directory 2017-01-13 00:16:23 +00:00
LoopIdiom Fix some broken CHECK lines. 2017-01-22 20:28:56 +00:00
LoopInterchange [LoopInterchange] Track all dependencies, not just anti dependencies. 2016-09-21 19:16:47 +00:00
LoopLoadElim [PM] Port LoopLoadElimination to the new pass manager and wire it into 2017-01-27 01:32:26 +00:00
LoopPredication [Guards] Introduce loop-predication pass 2017-01-25 16:00:44 +00:00
LoopReroll [LoopReroll] Make root-finding more aggressive. 2016-11-21 22:35:34 +00:00
LoopRotate Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
LoopSimplify Make a test actually test what it set out to test. 2017-01-12 03:49:07 +00:00
LoopSimplifyCFG
LoopStrengthReduce This test apparently requires an x86 target and is failing on numerous 2017-01-23 08:33:29 +00:00
LoopUnroll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
LoopUnswitch Constant fold switch inst when looking for trivial conditions to unswitch on. 2017-01-27 01:42:20 +00:00
LoopVectorize [LV] Fix an issue where forming LCSSA in the place that we did would 2017-01-26 10:41:09 +00:00
LoopVersioning [LDist] Match behavior between invoking via optimization pipeline or opt -loop-distribute 2016-12-21 04:07:40 +00:00
LoopVersioningLICM [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
LowerAtomic
LowerExpectIntrinsic [Profile] handle select instruction in 'expect' lowering 2016-09-02 22:03:40 +00:00
LowerGuardIntrinsic
LowerInvoke [PM] Port LowerInvoke to the new pass manager 2016-08-12 17:28:27 +00:00
LowerSwitch
LowerTypeTests LowerTypeTests: Ignore external globals with type metadata. 2017-01-26 00:32:15 +00:00
Mem2Reg
MemCpyOpt [MemCpyOpt] Don't sink LoadInst below possible clobber. 2016-12-27 17:58:12 +00:00
MergeFunc MergeFunctions: Preserve debug info in thunks, under option -mergefunc-preserve-debug-info 2017-01-21 02:02:56 +00:00
MetaRenamer
NameAnonGlobals [ThinLTO] Ensure anonymous globals renamed even at -O0 2016-09-17 20:40:16 +00:00
NaryReassociate Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
NewGVN NewGVN: Add basic dead and redundant store elimination 2017-01-27 02:37:11 +00:00
ObjCARC [ObjCARC] Traverse chain downwards to replace uses of argument passed to 2016-09-13 23:43:11 +00:00
PGOProfile Fix some broken CHECK lines. 2017-01-22 20:28:56 +00:00
PartiallyInlineLibCalls Add positive test for sqrt "partial inlining". NFC. 2017-01-04 21:24:56 +00:00
PhaseOrdering
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH [PruneEH] Be correct in the face IPO 2016-10-03 19:35:30 +00:00
Reassociate Fixed the lost FastMathFlags in Reassociate optimization. 2016-11-22 20:23:04 +00:00
Reg2Mem
RewriteStatepointsForGC [RS4GC] Strengthen coverage: add more tests 2016-10-07 20:34:00 +00:00
SCCP [SCCP] Teach the pass how to handle `div` with overdefined operands. 2017-01-19 23:07:51 +00:00
SLPVectorizer [SLP] Vectorize loads of consecutive memory accesses, accessed in non-consecutive (jumbled) way. 2017-01-28 17:59:44 +00:00
SROA [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
SafeStack [safestack] Use non-thread-local unsafe stack pointer for Contiki OS 2016-10-14 17:56:00 +00:00
SampleProfile Explicitly promote indirect calls before sample profile annotation. 2017-01-24 21:05:51 +00:00
Scalarizer
SeparateConstOffsetFromGEP
SimplifyCFG [InstCombine] Merge DebugLoc when speculatively hoisting store instruction 2017-01-28 07:05:43 +00:00
Sink
SpeculativeExecution SpeculativeExecution: Allow speculating more inst types 2016-10-28 20:00:33 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
StructurizeCFG [StructurizeCfg] Update dominator info. 2017-01-10 02:50:47 +00:00
TailCallElim Avoid tail recursion elimination across calls with operand bundles 2016-11-07 21:01:49 +00:00
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: Clear comdats on filtered globals. 2017-01-18 20:03:02 +00:00
Util [MemorySSA] Add new tests for invariant.groups 2017-01-23 16:38:10 +00:00
WholeProgramDevirt WholeProgramDevirt: Teach the pass to handle structs of arrays. 2016-12-09 01:10:11 +00:00