llvm-project/llvm/test/Transforms
Alexey Bataev daf6e18c55 [SLP] Add detection of shuffled/perfect matching of tree entries.
SLP supports perfect diamond matching for the vectorized tree entries
but do not support it for gathered entries and does not support
non-perfect (shuffled) matching with 1 or 2 tree entries. Patch adds
support for this matching to improve cost of the vectorized tree.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D100495
2021-04-20 07:46:49 -07:00
..
ADCE [DCE] Don't remove non-willreturn calls 2021-02-19 12:35:40 +01:00
AddDiscriminators
AggressiveInstCombine
AlignmentFromAssumptions [AssumeBundles] offset should be added to correctly calculate align 2021-04-02 12:32:05 +09:00
ArgumentPromotion Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
AtomicExpand Copy syncscope when expanding atomicrmw into cmpxchg loop 2021-04-05 17:29:38 -07:00
Attributor Revert "[IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction" 2021-04-06 16:33:28 +02:00
BDCE [DCE] Don't remove non-willreturn calls 2021-02-19 12:35:40 +01:00
BlockExtractor
BranchFolding
CallSiteSplitting
CalledValuePropagation
CanonicalizeAliases
CanonicalizeFreezeInLoops
CodeExtractor
CodeGenPrepare [test, ARM] Fix use of var defined in CHECK-NOT 2021-03-30 16:28:13 +01:00
ConstantHoisting
ConstantMerge
ConstraintElimination [ConstraintElimination] Only strip casts preserving the representation. 2021-03-26 20:07:41 +00:00
Coroutines Revert "[Coroutines] Set presplit attribute in Clang instead of CoroEarly pass" 2021-04-18 17:22:28 -07:00
CorrelatedValuePropagation [CVP] @llvm.[us]{min,max}() intrinsics handling 2021-04-11 00:33:47 +03:00
CrossDSOCFI
DCE
DeadArgElim Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
DeadStoreElimination Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
DivRemPairs
EarlyCSE [gvn] CSE gc.relocates based on meaning, not spelling (try 2) 2021-03-16 10:59:31 -07:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible
Float2Int
ForcedFunctionAttrs
FunctionAttrs [funcattrs] Consistently check call site attributes 2021-04-19 13:20:50 -07:00
FunctionImport
GCOVProfiling
GVN [Test] Add -lcssa run to force LI in GVN 2021-04-20 13:26:55 +07:00
GVNHoist Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
GVNSink [GVNSink] auto-generate test checks; NFC 2021-04-02 13:16:35 -04:00
GlobalDCE
GlobalMerge
GlobalOpt Revert "[GlobalOpt] Revert valgrind hacks" 2021-04-13 17:47:07 -07:00
GlobalSplit [test] Fix mix of variable use/def and regex match 2021-03-24 17:58:16 +00:00
GuardWidening
HardwareLoops [test, HardwareLoops] Fix use of var defined in CHECK-NOT 2021-03-30 15:06:32 +01:00
HelloNew
HotColdSplit
IRCE Make FoldBranchToCommonDest poison-safe by default 2021-03-27 19:05:12 +09:00
IROutliner
IndVarSimplify Revert "[SCEV] Model `ashr exact x, C` as `(abs(x) EXACT/u (1<<C)) * signum(x)`" 2021-04-18 16:26:45 +03:00
IndirectBrExpand
InferAddressSpaces
InferFunctionAttrs [inferattrs] Don't infer lib func attributes for nobuiltin functions 2021-04-16 15:36:15 -07:00
Inline [Inline] Don't add noalias metadata to inaccessiblememonly calls 2021-04-17 14:56:13 +02:00
InstCombine [MemoryBuiltins] Added support for memalign 2021-04-20 12:39:54 +02:00
InstMerge
InstNamer
InstSimplify [AArch64] Constant fold sve_convert_from_svbool(zero) to zero 2021-04-20 10:02:49 +00:00
InterleavedAccess
Internalize
JumpThreading [JumpThreading] merge debug info when merging select+br 2021-04-12 17:51:21 -07:00
LCSSA
LICM [LICM] Make capture check more precise 2021-04-19 20:34:23 +02:00
LoadStoreVectorizer
LoopDataPrefetch
LoopDeletion [LoopDeletion] Add test for PR49967 (NFC) 2021-04-18 22:08:51 +02:00
LoopDistribute [SCEVExpander] ReuseOrCreateCast(): use IRBuilder to actually create the cast 2021-04-19 18:38:39 +03:00
LoopFlatten [NFC] Improve debug message and test description in 4c1f74a 2021-03-24 18:21:13 +08:00
LoopFusion [LoopFusion] Bails out if only the second candidate is guarded (PR48060) 2021-04-06 01:08:56 +08:00
LoopIdiom [LoopIdiom] left-shift-until-bittest: set all allowed no-wrap flags on add/sub 2021-04-11 18:08:07 +03:00
LoopInstSimplify
LoopInterchange [LoopInterchange] Fix transformation bugs in loop interchange 2021-04-08 14:58:13 -04:00
LoopLoadElim [IndVars] Provide eliminateIVComparison with context 2021-03-19 12:28:22 +07:00
LoopPredication [NFCI] SCEVExpander: emit intrinsics for integral {u,s}{min,max} SCEV expressions 2021-03-06 21:52:46 +03:00
LoopReroll
LoopRotate [NewPM] Change tests to run them without PreserveCFGChecker. NFC 2021-04-06 11:33:07 +07:00
LoopSimplify Make FoldBranchToCommonDest poison-safe by default 2021-03-27 19:05:12 +09:00
LoopSimplifyCFG
LoopStrengthReduce [LSR] Fix for pre-indexed generated constant offset 2021-04-15 16:44:42 +01:00
LoopTransformWarning
LoopUnroll [LoopUnroll] Regenerate test checks (NFC) 2021-04-17 20:59:20 +02:00
LoopUnrollAndJam [LoopUnrollAndJam] Avoid repeated instructions for UAJ analysis 2021-04-15 12:59:42 -04:00
LoopUnswitch Explicitly enable the new pass manager in this test. 2021-03-25 18:10:36 -07:00
LoopVectorize [LV] Let selectVectorizationFactor reason directly on VectorizationFactor. 2021-04-20 09:54:45 +01:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics [LowerConstantIntrinsics] avoid crashing on alloca with unexpected operand type 2021-04-19 13:06:29 -04:00
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt [tests] Refresh a bunch of autogen test to adjust for format changes 2021-03-22 10:41:39 -07:00
MergeFunc
MergeICmps Tweak a test so it actually gets autogened 2021-03-22 11:32:32 -07:00
MetaRenamer
NameAnonGlobals
NaryReassociate [NARY] Don't optimize min/max if there are side uses 2021-04-12 12:43:54 +07:00
NewGVN [NewGVN] Add phi-of-ops operands if no real PHI is created. 2021-04-15 08:25:10 +01:00
ObjCARC [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of 2021-03-04 11:22:30 -08:00
OpenMP [OpenMP] Fix incompatible attributes in OpenMPIRBuilder test. 2021-04-13 11:57:28 -04:00
PGOProfile [SimplifyCFG] use profile metadata to refine merging branch conditions 2021-03-23 10:19:37 -04:00
PartialInlining
PartiallyInlineLibCalls
PhaseOrdering [PhaseOrdering] add test to show unintended code sinking; NFC 2021-04-19 17:30:23 -04:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate Revert "Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands"" 2021-04-12 20:10:17 -07:00
Reg2Mem
RelLookupTableConverter/X86 [Passes] Add relative lookup table converter pass 2021-04-13 01:29:41 +00:00
RewriteStatepointsForGC [rs4gc] Fix a latent bug around attribute stripping for intrinsics 2021-04-19 13:14:07 -07:00
SCCP Revert "[IR] Ignore bitcasts of function pointers which are only used as callees in callbase instruction" 2021-04-06 16:33:28 +02:00
SLPVectorizer [SLP] Add detection of shuffled/perfect matching of tree entries. 2021-04-20 07:46:49 -07:00
SROA [SROA][TBAA] Handle shift of regular TBAA nodes 2021-04-14 14:35:20 -04:00
SafeStack
SampleProfile [CSSPGO] Exclude pseudo probes from slot index 2021-04-19 17:55:35 -07:00
ScalarizeMaskedMemIntrin
Scalarizer
SeparateConstOffsetFromGEP [test] Make global in split-gep-and-gvn.ll not constant 2021-04-19 11:03:19 -07:00
SimpleLoopUnswitch [LoopUnswitch] Simplify branch condition if it is select with constant operands 2021-03-30 20:09:42 +09:00
SimplifyCFG [SimplifyCFG] Skip dbg intrinsics when checking for branch-only BBs. 2021-04-17 15:17:50 +01:00
Sink
SpeculateAroundPHIs
SpeculativeExecution
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols [DebugInfo] Support for signed constants inside DIExpression 2021-03-30 23:20:38 +05:30
StructurizeCFG
SyntheticCountsPropagation
TailCallElim Autogen some tests for ease of update 2021-03-22 11:06:29 -07:00
ThinLTOBitcodeWriter [ThinLTO] Copy UnnamedAddr when spliting module. 2021-04-19 14:04:58 -07:00
TypePromotion/ARM
UnifyFunctionExitNodes
UnifyLoopExits
Util [AnnotationRemarks] Use subprogram location for summary remarks. 2021-03-23 12:05:41 +00:00
VectorCombine [VectorCombine] Add tests for load/extract scalarization. 2021-04-11 21:39:48 +01:00
WholeProgramDevirt Don't use $ as suffix for symbol names in ThinLTOBitcodeWriter and other places 2021-03-29 13:03:52 +02:00