llvm-project/llvm/test/Transforms
Benjamin Kramer f85f5da3b2 [LoadStoreVectorize] Ignore interleaved invariant loads.
The memory location an invariant load is using can never be clobbered by
any store, so it's safe to move the load ahead of the store.

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

llvm-svn: 330725
2018-04-24 15:28:47 +00:00
..
ADCE
AddDiscriminators Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
AggressiveInstCombine [AggressiveInstCombine] add tests for PR37098; NFC 2018-04-23 20:20:32 +00:00
AlignmentFromAssumptions [AlignmentFromAssumptions] Set source and dest alignments of memory intrinsiscs separately 2018-02-22 18:55:59 +00:00
ArgumentPromotion [ArgumentPromotion] don't break musttail invariant PR36543 2018-03-02 00:59:27 +00:00
AtomicExpand
BDCE [BDCE] Salvage debug info from dying insts 2018-02-21 01:55:33 +00:00
BlockExtractor BlockExtractor: Don’t delete functions directly 2018-03-12 22:28:18 +00:00
BranchFolding
CallSiteSplitting [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant. 2018-04-23 20:09:08 +00:00
CalledValuePropagation Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
CodeExtractor [PartialInlining] Fix Crash from holding a reference to a destructed ORE. 2018-04-20 19:56:26 +00:00
CodeGenPrepare [CGP] Fix the remove of matched phis in complex addressing mode 2018-03-12 03:50:07 +00:00
ConstProp [TargetLibraryInfo] fix finite mathlib function availability 2018-01-08 17:38:09 +00:00
ConstantHoisting Fix out-of-order stepping behavior in programs with hoisted constants. 2017-11-09 20:01:31 +00:00
ConstantMerge
Coroutines [coroutines] Respect alloca alignment requirements when building coroutine frame 2018-04-03 20:54:20 +00:00
CorrelatedValuePropagation [CVP] simplify phi with constant incoming values that match common variable edge values 2018-04-10 20:42:39 +00:00
CrossDSOCFI
DCE [DCE] Salvage debug info from dead insts 2018-02-15 22:26:18 +00:00
DeadArgElim [DeadArgElim] Remove allocsize attributes on callsites 2018-04-12 02:06:01 +00:00
DeadStoreElimination [DSE] Teach the pass that atomic memory intrinsics are stores. 2018-04-23 19:06:49 +00:00
DivRemPairs
EarlyCSE [EarlyCSE] Don't hide earler invariant.scopes 2018-03-15 18:12:27 +00:00
EliminateAvailableExternally
EntryExitInstrumenter EntryExitInstrumenter: Handle musttail calls 2018-04-06 10:14:09 +00:00
ExpandMemCmp/X86 [x86, MemCmpExpansion] allow 2 pairs of loads per block (PR33325) 2018-01-06 16:16:04 +00:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs [PM][FunctionAttrs] add NoUnwind attribute inference to PostOrderFunctionAttrs pass 2018-03-23 21:46:16 +00:00
FunctionImport [ThinLTO] Add an import cutoff for debugging/triaging 2018-04-01 15:54:40 +00:00
GCOVProfiling
GVN Mark MergedLoadStoreMotion as not preserving MemDep results 2018-02-23 10:41:57 +00:00
GVNHoist [NFC] fix trivial typos in documents and comments 2018-04-12 05:53:20 +00:00
GVNSink Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
GlobalDCE
GlobalMerge
GlobalOpt [GlobalOpt] Fix support for casts in ctors. 2018-04-06 15:54:47 +00:00
GlobalSplit
GuardWidening
IPConstantProp [IPSCCP] do not break musttail invariant (PR36485) 2018-03-01 01:19:18 +00:00
IRCE [IRCE] Only check for NSW on equality predicates 2018-04-18 13:50:28 +00:00
IndVarSimplify [SCEV] Prove implications for SCEVUnknown Phis 2018-04-04 05:46:47 +00:00
IndirectBrExpand Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre.. 2018-01-22 22:05:25 +00:00
InferAddressSpaces [AMDGPU] Switch to the new addr space mapping by default 2018-02-02 16:07:16 +00:00
InferFunctionAttrs
Inline Don't inline @llvm.icall.branch.funnel 2018-04-04 21:46:27 +00:00
InstCombine [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
InstMerge
InstNamer
InstSimplify Reland r301880(!): "[InstSimplify] Handle selects of GEPs with 0 offset" 2018-04-24 00:25:01 +00:00
InterleavedAccess [X86][LLVM]Expanding Supports lowerInterleaved{store|load}() in X86InterleavedAccess (VF64 stride 3-4) 2017-10-02 07:35:25 +00:00
Internalize
JumpThreading Fix typo in a test. 2018-04-20 13:51:36 +00:00
LCSSA [Test] Fix the test to output to /dev/null instead of redirecting. 2018-02-23 19:03:04 +00:00
LICM [LICM] Salvage DI from dying Instructions 2018-03-18 15:59:19 +00:00
LoadStoreVectorizer [LoadStoreVectorize] Ignore interleaved invariant loads. 2018-04-24 15:28:47 +00:00
LoopDataPrefetch
LoopDeletion [LoopDeletion] Handle users in unreachable block 2018-01-12 07:24:43 +00:00
LoopDistribute
LoopIdiom Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
LoopInterchange [LoopInterchange] Require asserts for test using -stats (NFC) 2018-04-05 13:07:39 +00:00
LoopLoadElim
LoopPredication [LoopPredication] Add profitability check based on BPI 2018-03-22 16:03:59 +00:00
LoopReroll
LoopRotate [LoopRotate] Fix incorrect SCEV invalidation in loop rotation 2018-04-23 12:33:31 +00:00
LoopSimplify [LoopSimplify] Fix incorrect SCEV invalidation 2018-04-23 10:32:37 +00:00
LoopSimplifyCFG
LoopStrengthReduce Revert "[PowerPC] LSR tunings for PowerPC" 2018-03-09 16:08:55 +00:00
LoopUnroll [LoopUnroll] Only peel if a predicate becomes known in the loop body. 2018-04-18 12:29:24 +00:00
LoopUnswitch [NFC] Use FileCheck in test 2018-04-24 04:42:37 +00:00
LoopVectorize [LV] Introduce TTI::getMinimumVF 2018-04-13 20:16:32 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests LowerTypeTests: Propagate symver directives 2018-04-20 01:36:48 +00:00
Mem2Reg [Mem2Reg] Create merged debug locations for inserted phis 2018-04-17 22:03:08 +00:00
MemCpyOpt [MemCpyOpt] Skip optimizing basic blocks not reachable from entry 2018-04-23 19:55:04 +00:00
MergeFunc Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
MergeICmps [MergeICmp] Split blocks that do other work. 2018-04-09 13:14:06 +00:00
MetaRenamer Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
NameAnonGlobals
NaryReassociate Add early exit on reassociation of 0 expression. 2018-03-07 02:17:08 +00:00
NewGVN [NewGVN] Split OpPHI detection and creation. 2018-04-20 16:37:13 +00:00
ObjCARC [ObjCARC] Account for funclet token in storeStrong transform 2018-04-20 22:11:03 +00:00
PGOProfile [PGO] Fix branch probability remarks assert 2018-03-27 18:55:56 +00:00
PartiallyInlineLibCalls [PartiallyInlineLibCalls][x86] add TTI hook to allow sqrt inlining to depend on arg rather than result 2017-11-27 21:15:43 +00:00
PhaseOrdering Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
PlaceSafepoints Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
PreISelIntrinsicLowering
PruneEH [PM][FunctionAttrs] add NoUnwind attribute inference to PostOrderFunctionAttrs pass 2018-03-23 21:46:16 +00:00
Reassociate [Reassociate] add baseline tests for binop swapping; NFC 2018-04-19 21:56:17 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepoints] Fix stale parse points 2018-03-05 22:27:30 +00:00
SCCP Revert r328307: [IPSCCP] Use constant range information for comparisons of parameters. 2018-03-23 12:49:39 +00:00
SLPVectorizer [X86] Remove unnecessary -mattr to enable avx512bw when the -mcpu already enabled it. NFC 2018-04-16 18:14:19 +00:00
SROA [SROA] Take advantage of separate alignments for memcpy source and destination 2018-03-13 14:25:33 +00:00
SafeStack [SafeStack] Use updated CreateMemCpy API to set more accurate source and destination alignments. 2018-02-12 22:39:47 +00:00
SampleProfile Profiling tests: Endianess XFAIL for powerpc- (32-bit) 2018-01-09 20:09:23 +00:00
Scalarizer
SeparateConstOffsetFromGEP [AMDGPU] Change constant addr space to 4 2018-02-13 18:00:25 +00:00
SimpleLoopUnswitch [PM/LoopUnswitch] Fix a bug in the loop block set formation of the new 2018-04-24 10:33:08 +00:00
SimplifyCFG [DebugInfo] Create merged locations for instructions other than calls 2018-04-12 20:58:24 +00:00
Sink [Sink] Really really fix predicate in legality check 2018-01-11 21:28:57 +00:00
SpeculateAroundPHIs Add a new pass to speculate around PHI nodes with constant (integer) operands when profitable. 2017-11-28 11:32:31 +00:00
SpeculativeExecution
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG StructurizeCFG: Test for branch divergence correctly 2018-04-04 10:58:15 +00:00
SyntheticCountsPropagation Add a pass to generate synthetic function entry counts. 2018-01-09 19:39:35 +00:00
TailCallElim Remove this test 2017-11-28 22:39:38 +00:00
ThinLTOBitcodeWriter Fix build failures for r330387 on buildbots that don't build the X86 target 2018-04-20 02:26:12 +00:00
Util LowerDbgDeclare: ignore dbg.declares for allocas with volatile access 2018-03-09 00:45:04 +00:00
WholeProgramDevirt Runtime flag to control branch funnel threshold 2018-04-06 21:32:36 +00:00