llvm-project/llvm/test/Analysis
David Sherwood a458b7855e [AArch64] Add AArch64TTIImpl::getMaskedMemoryOpCost function
When vectorising for AArch64 targets if you specify the SVE attribute
we automatically then treat masked loads and stores as legal. Also,
since we have no cost model for masked memory ops we believe it's
cheap to use the masked load/store intrinsics even for fixed width
vectors. This can lead to poor code quality as the intrinsics will
currently be scalarised in the backend. This patch adds a basic
cost model that marks fixed-width masked memory ops as significantly
more expensive than for scalable vectors.

Tests for the cost model are added here:

  Transforms/LoopVectorize/AArch64/masked-op-cost.ll

Differential Revision: https://reviews.llvm.org/D100745
2021-04-26 11:00:03 +01:00
..
AliasSet [noalias.decl] Look through llvm.experimental.noalias.scope.decl 2021-01-19 20:09:42 +01:00
AssumptionCache Revert "[AssumptionCache] Avoid dangling llvm.assume calls in the cache" 2021-02-11 12:17:38 -06:00
BasicAA [AA] Updates for D95543. 2021-04-15 12:22:03 +03:00
BlockFrequencyInfo [BPI] Improve static heuristics for "cold" paths. 2020-12-23 22:47:36 +07:00
BranchProbabilityInfo [test] Pin some tests to legacy PM 2020-12-26 13:46:02 -08:00
CFLAliasAnalysis [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
CallGraph Set IgnoreLLVMUsed to false in CallGraph::addToCallGraph() 2021-04-08 11:14:09 -07:00
CostModel [AArch64] Add AArch64TTIImpl::getMaskedMemoryOpCost function 2021-04-26 11:00:03 +01:00
DDG Fix print-dot-ddg.ll so it doesn't try to write to the source tree (& uses the test temp paths instead) 2021-01-07 19:57:14 -08:00
Delinearization [Delinearization][NewPM] Port delinearization to NPM 2020-09-21 17:59:08 -07:00
DemandedBits Precommit analysis/etc tests for inselt poison placeholder 2020-12-24 12:14:24 +09:00
DependenceAnalysis [DependenceAnalysis][NewPM] Fix tests to work under NPM 2020-09-15 11:11:23 -07:00
DivergenceAnalysis [NewPM] Introduce (GPU)DivergenceAnalysis in the new pass manager 2021-02-16 10:26:45 +05:30
DominanceFrontier
Dominators [Dominators][NewPM] Pin tests with -analyze to legacy PM 2020-09-15 11:59:00 -07:00
FunctionPropertiesAnalysis Add new function properties to FunctionPropertiesAnalysis 2020-07-23 12:46:47 -07:00
GlobalsModRef [GlobalsAA] Teach to handle `addrspacecast`. 2020-11-09 00:04:52 -05:00
IRSimilarityIdentifier [IROutliner] Adding instruction strings to IRSimilarityPrinting diagnostics. 2021-02-09 12:11:47 -06:00
IVUsers [SCEV] Strenthen nowrap flags after constant folding for mul exprs 2020-10-25 19:43:58 +01:00
LazyCallGraph [LazyCallGraph] Build SCCs of the reference graph in order 2020-11-02 13:22:42 -08:00
LazyValueAnalysis [JumpThreading] Make -print-lvi-after-jump-threading work with NPM 2020-11-17 23:15:20 -08:00
LegacyDivergenceAnalysis [NewPM] Introduce (GPU)DivergenceAnalysis in the new pass manager 2021-02-16 10:26:45 +05:30
Lint OpaquePtr: Update more tests to use typed sret 2020-11-20 20:08:43 -05:00
LoopAccessAnalysis [SCEVExpander] Expand explicit PtrToInt casts just like we would implicit ones 2021-04-19 18:38:39 +03:00
LoopCacheAnalysis/PowerPC
LoopInfo [LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM 2020-09-22 11:31:00 -07:00
LoopNestAnalysis [LoopNest] Use `getUniqueSuccessor()` instead when checking empty blocks 2021-02-24 09:53:12 +08:00
MemoryDependenceAnalysis OpaquePtr: Update more tests to use typed sret 2020-11-20 20:08:43 -05:00
MemorySSA [MemorySSA] Add test for PR49859. 2021-04-13 10:56:09 -07:00
MustExecute Port print-must-be-executed-contexts and print-mustexecute to NPM 2020-11-03 21:06:46 -08:00
PhiValues
PostDominators [PostDominators][NewPM] Fix tests to work under NPM 2020-09-15 11:19:01 -07:00
ProfileSummary
RegionInfo [RegionInfo][NewPM] Fix RegionInfo tests to work under NPM 2020-09-15 11:12:14 -07:00
ScalarEvolution [SCEV] Fix applyLoopGuards() chaining for ne predicates 2021-04-24 21:43:46 +02:00
ScopedNoAliasAA [MemCpyOpt] Correctly merge alias scopes during call slot optimization 2020-12-03 09:23:37 -08:00
StackSafetyAnalysis [SCEV] Use both known bits and sign bits when computing range of SCEV unknowns 2021-02-19 08:29:12 -08:00
TypeBasedAliasAnalysis [funcattrs] Add the maximal set of implied attributes to definitions 2021-04-16 14:22:19 -07:00
ValueTracking Reapply "Look through invertible recurrences in isKnownNonEqual" 2021-04-20 12:47:59 -07:00
alias-analysis-uses.ll [NewPM] Pin tests with -debug-pass to legacy PM 2020-09-22 17:54:25 -07:00