llvm-project/llvm/test/Transforms
Alexey Bataev f701505c45 [SLP]Improve vectorization of phi nodes by trying wider vectors.
Try to improve vectorization of the PHI nodes by trying to vectorize
similar instructions at the size of the widest possible vectors, then
aggregating with compatible type PHIs and trying to vectoriza again and
only if this failed, try smaller sizes of the vector factors for
compatible PHI nodes. This restores performance of several benchmarks
after tuning of the fp/int conversion instructions costs.

Differential Revision: https://reviews.llvm.org/D108740
2021-09-28 07:20:36 -07:00
..
ADCE [LICM] Remove AST-based implementation 2021-08-18 20:21:53 +02:00
AddDiscriminators [NPM] Make AddDiscriminators pass required 2021-09-07 17:02:24 -07:00
AggressiveInstCombine [AggressiveInstCombine] Add `{insert/extract}element` to `TruncInstCombine` DAG 2021-09-16 11:24:31 +03:00
AlignmentFromAssumptions [AlignFromAssume] Bailout w/non-constant alignments (pr51680) 2021-08-31 09:20:52 -07:00
ArgumentPromotion [test] Properly match parameter/argument ABI attributes 2021-05-31 09:12:18 -07:00
AtomicExpand [PowerPC] Add lit.local.cfg in AtomicExpand tests 2021-07-20 09:13:50 +00:00
Attributor [IR] Look through bitcast in hasFnAttribute() 2021-09-21 21:57:02 +02:00
BDCE
BlockExtractor
BranchFolding
CallSiteSplitting
CalledValuePropagation
CanonicalizeAliases
CanonicalizeFreezeInLoops [AArch64InstPrinter] Change printAddSubImm to comment imm value when shifted 2021-08-03 02:28:46 -07:00
CodeExtractor [CodeExtractor] Preserve topological order for the return blocks. 2021-08-25 08:09:01 -07:00
CodeGenPrepare [CGP] Fix the crash for combining address mode when having cyclic dependency 2021-08-26 22:52:42 +08:00
ConstantHoisting [RISCV] Add zext.h/zext.w to RISCVTTIImpl::getIntImmCostInst. 2021-08-18 09:40:40 -07:00
ConstantMerge [ConstantMerge] Don't merge thread_local constants with non-thread_local constants 2021-04-28 23:44:20 +01:00
ConstraintElimination [ConstraintElimination] Rewrite tests to reduce verification complexity. 2021-08-26 16:41:40 +01:00
Coroutines [opt] Remove some legacy PM flags 2021-09-13 15:50:03 -07:00
CorrelatedValuePropagation Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch cover all possible values.""" 2021-09-27 20:39:05 +08:00
CrossDSOCFI
DCE
DFAJumpThreading Add jump-threading optimization for deterministic finite automata 2021-07-27 14:34:04 -04:00
DeadArgElim [ObjC][ARC] Use the addresses of the ARC runtime functions instead of 2021-09-08 11:58:03 -07:00
DeadStoreElimination [AA] Move earliest escape tracking from DSE to AA 2021-09-25 22:40:41 +02:00
DivRemPairs [DivRemPairs] make sure we have a valid CFG for hoisting division 2021-07-28 11:09:12 -04:00
EarlyCSE [NewPM] Use parameterized syntax for a couple of more passes 2021-08-20 14:59:21 +02:00
EliminateAvailableExternally
EntryExitInstrumenter [NewPM] Use parameterized syntax for a couple of more passes 2021-08-20 14:59:21 +02:00
ExpandMemCmp [x86] split memcmp tests for 32/64-bit targets; NFC 2021-08-15 13:51:18 -04:00
FixIrreducible
Float2Int
ForcedFunctionAttrs
FunctionAttrs [LLVM IR] Allow volatile stores to trap. 2021-07-26 10:51:00 -07:00
FunctionImport Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
FunctionSpecialization [FuncSpec] Don't specialise (or crash) on poison or constexpr values 2021-09-27 14:58:53 +01:00
GCOVProfiling [GCov] Emit memset instead of stores in __llvm_gcov_reset 2021-08-05 22:40:15 -07:00
GVN The maximal representable alignment in LLVM IR is 1GiB, not 512MiB 2021-08-26 12:53:39 +03:00
GVNHoist PR46874: Reset stack after visiting a node 2021-08-20 11:25:05 -07:00
GVNSink
GlobalDCE [GlobalDCE] In VFE support for relative pointers, allow GEP references to the base symbol 2021-09-13 15:22:11 -07:00
GlobalMerge
GlobalOpt [IR] Handle large element size when calculating GEP indices 2021-09-24 22:20:20 +02:00
GlobalSplit
GuardWidening [test] Remove -loop-guard-widening legacy PM tests 2021-09-05 11:36:21 -07:00
HardwareLoops [HardwareLoops] Loop guard intrinsic to recognise zext 2021-09-16 08:33:16 +01:00
HelloNew
HotColdSplit [CodeExtractor] Preserve topological order for the return blocks. 2021-08-25 08:09:01 -07:00
IRCE [SCEV] By more careful when traversing phis in isImpliedViaMerge. 2021-05-07 19:52:29 +01:00
IROutliner [IROutliner] Adding supports for multiple exits 2021-09-08 08:58:07 -07:00
IndVarSimplify [Test] Add some simple tests where IndVars cannot remove a check in loop 2021-09-27 12:12:51 +07:00
IndirectBrExpand
InferAddressSpaces [Tests] Fix incorrect noalias metadata 2021-09-18 20:51:00 +02:00
InferFunctionAttrs Replace "CHECK-NOT: #{{.*}}" with same-line positive checks. NFC. 2021-08-05 21:55:23 -07:00
Inline [ObjC][ARC] Use the addresses of the ARC runtime functions instead of 2021-09-08 11:58:03 -07:00
InstCombine [InstCombine] add tests for icmp-gep; NFC 2021-09-28 10:00:35 -04:00
InstMerge
InstNamer
InstSimplify [InstSimplify] Don't lose inbounds when simplifying a GEP 2021-09-23 09:25:06 +01:00
InterleavedAccess [InterleaveAccess] Copy fast math flags when adjusting binary operators in interleave access pass 2021-06-17 09:53:33 +01:00
Internalize [IR] Rename `comdat noduplicates` to `comdat nodeduplicate` 2021-07-20 12:47:10 -07:00
JumpThreading Re-apply "[JumpThreading] Ignore free instructions" 2021-09-24 18:52:30 +02:00
LCSSA
LICM [TTI] getUserCost - Ensure a vector insert/extract index is in unsigned 32-bit range 2021-09-25 10:50:54 +01:00
LoadStoreVectorizer [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
LoopBoundSplit [LoopBoundSplit] Check the start value of split cond AddRec 2021-09-13 10:32:35 +01:00
LoopDataPrefetch [LoopDataPrefetch] Add missed LoopSimplify dependence for prefetch pass 2021-08-26 21:01:59 +08:00
LoopDeletion [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
LoopDistribute Recommit "[LAA] Support pointer phis in loop by analyzing each incoming pointer." 2021-09-14 11:19:12 +01:00
LoopFlatten [LoopFlatten] Updating Phi nodes after IV widening 2021-09-28 15:09:20 +01:00
LoopFusion [llvm] Unbreak no-asserts testing after 18839be9c5 2021-04-27 05:46:43 -04:00
LoopIdiom [LoopIdiomRecognize][Remarks] Track loop-strided store to/from blocks 2021-09-16 15:46:26 -07:00
LoopInstSimplify
LoopInterchange [LoopInterchange] Check lcssa phis in the inner latch in scenarios of multi-level nested loops 2021-07-16 11:59:20 -04:00
LoopLoadElim
LoopPredication [LoopPred Test] Fix lld-x86_64-win BB failure 2021-09-27 21:28:46 -04:00
LoopReroll [SCEV] Fix unsound reasoning in howManyLessThans 2021-07-15 10:32:47 -07:00
LoopRotate [Tests] Remove explicit -enable-mssa-loop-dependency options (NFC) 2021-08-14 21:21:07 +02:00
LoopSimplify [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
LoopSimplifyCFG [Tests] Remove explicit -enable-mssa-loop-dependency options (NFC) 2021-08-14 21:21:07 +02:00
LoopStrengthReduce Recommit "[SCEV] Look through single value PHIs." (take 2) 2021-09-28 10:32:17 +01:00
LoopTransformWarning
LoopUnroll [SimplifyCFG] performBranchToCommonDestFolding(): require block-closed SSA form for bonus instructions (PR51125) 2021-09-09 12:28:09 +03:00
LoopUnrollAndJam [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass 2021-06-08 20:30:02 +09:00
LoopUnswitch [Tests] Remove explicit -enable-mssa-loop-dependency options (NFC) 2021-08-14 21:21:07 +02:00
LoopVectorize Recommit "[SCEV] Look through single value PHIs." (take 2) 2021-09-28 10:32:17 +01:00
LoopVersioning [SCEVExpander] Simplify pointer overflow check 2021-09-02 20:15:59 +02:00
LoopVersioningLICM [LICM] Remove AST-based implementation 2021-08-18 20:21:53 +02:00
LowerAtomic
LowerConstantIntrinsics [LowerConstantIntrinsics] Fix heap-use-after-free bug in worklist 2021-09-21 11:33:07 +02:00
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Tests] Fix incorrect noalias metadata 2021-09-18 20:51:00 +02:00
LowerSwitch
LowerTypeTests [ConstantFold] Get rid of special cases for sizeof etc. 2021-07-31 13:20:47 -07:00
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg [Mem2Reg] Regenerate test checks (NFC) 2021-06-21 11:06:28 +02:00
MemCpyOpt [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
MergeFunc
MergeICmps [MergeICmps] Don't reorder unmerged comparisons 2021-09-21 21:22:12 +02:00
MetaRenamer
NameAnonGlobals
NaryReassociate [NARY] Don't optimize min/max if there are side uses (part2) 2021-04-30 19:02:02 +07:00
NewGVN [MemorySSA] Support invariant.group metadata 2021-09-08 13:06:12 -07:00
ObjCARC [ObjC][ARC] Use the addresses of the ARC runtime functions instead of 2021-09-08 11:58:03 -07:00
OpenMP [OpenMP][FIX] Be more deliberate about invalidating the AAKernelInfo state 2021-09-23 00:04:30 -05:00
PGOProfile [InstrProfiling] Keep profd non-private for non-renamable comdat functions 2021-08-24 20:14:03 -07:00
PartialInlining
PartiallyInlineLibCalls [PartiallyInlineLibCalls] Disable sqrt expansion for strictfp. 2021-06-17 14:15:12 -07:00
PhaseOrdering Re-apply "[JumpThreading] Ignore free instructions" 2021-09-24 18:52:30 +02:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
Reassociate Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
Reg2Mem
RelLookupTableConverter/X86
RewriteStatepointsForGC [Tests] Fix incorrect noalias metadata 2021-09-18 20:51:00 +02:00
SCCP [ConstantFold] ConstantFoldGetElementPtr - use APInt::isNegative() instead of getSExtValue() to support big ints 2021-09-24 18:18:53 +01:00
SLPVectorizer [SLP]Improve vectorization of phi nodes by trying wider vectors. 2021-09-28 07:20:36 -07:00
SROA [IR] Add helper to convert offset to GEP indices 2021-09-20 20:18:16 +02:00
SafeStack [SafeStack] Use proper API to get stack guard 2021-05-30 00:52:48 -07:00
SampleProfile [CSSPGO] Set PseudoProbeInserter as a default pass. 2021-09-22 09:09:48 -07:00
ScalarizeMaskedMemIntrin
Scalarizer Update @llvm.powi to handle different int sizes for the exponent 2021-06-17 09:38:28 +02:00
SeparateConstOffsetFromGEP SeparateConstOffsetFromGEP: Fix stack overflow in unreachable code 2021-09-14 19:49:38 -04:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Inform pass manager when child loops are deleted 2021-09-04 17:54:39 +02:00
SimplifyCFG [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest 2021-09-22 09:52:37 -07:00
Sink
SpeculativeExecution
StraightLineStrengthReduce Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
StripDeadPrototypes
StripSymbols
StructurizeCFG Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
SyntheticCountsPropagation
TailCallElim [ObjC][ARC] Use the addresses of the ARC runtime functions instead of 2021-09-08 11:58:03 -07:00
ThinLTOBitcodeWriter ThinLTO: Fix inline assembly references to static functions with CFI 2021-08-03 11:35:30 -07:00
TypePromotion/ARM [ARM][TypePromotion] Re-generate test checks. NFC 2021-08-16 13:42:42 -07:00
UnifyFunctionExitNodes
UnifyLoopExits
Util [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
VectorCombine [VectorCombine] Discard ScalarizationResult state in early exit. 2021-09-28 12:52:16 +01:00
WholeProgramDevirt [OpaquePtr] Support forward references in textual IR 2021-06-29 20:10:31 +02:00