llvm-project/llvm/test/Analysis
Simon Pilgrim 44a9a71d2a [TTI] Fix uses of SK_ExtractSubvector shuffle costs (PR39368)
Correct costings of SK_ExtractSubvector requires the SubTy argument to indicate the type/size of the extracted subvector.

Unlike the rest of the shuffle kinds this means that the main Ty argument represents the source vector type not the destination!

I've done my best to fix a number of vectorizer uses:

SLP - the reduction epilogue costs should be using a SK_PermuteSingleSrc shuffle as these all occur at the hardware vector width - we're not extracting (illegal) subvector types. This is causing the cost model diffs as SK_ExtractSubvector costs are poorly handled and tend to just return 1 at the moment.

LV - I'm not clear on what the SK_ExtractSubvector should represents for recurrences - I've used a <1 x ?> subvector extraction as that seems to match the VF delta.

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

llvm-svn: 345617
2018-10-30 18:10:02 +00:00
..
AliasSet [Analysis] Make LocationSize pretty-printing more descriptive 2018-10-10 01:35:22 +00:00
AssumptionCache
BasicAA [PPC] Remove Darwin support from POWER backend. 2018-08-28 01:18:29 +00:00
BlockFrequencyInfo [BFI] Use rounding while computing profile counts. 2018-08-16 00:26:59 +00:00
BranchProbabilityInfo [BPI] Apply invoke heuristic before loop branch heuristic 2018-06-08 13:03:21 +00:00
CFLAliasAnalysis Revert r332657: "[AA] cfl-anders-aa with field sensitivity" 2018-05-17 21:56:39 +00:00
CallGraph Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
ConstantFolding [ConstantFolding] Constant fold minimum and maximum intrinsics 2018-10-19 18:15:32 +00:00
CostModel [TTI] Fix uses of SK_ExtractSubvector shuffle costs (PR39368) 2018-10-30 18:10:02 +00:00
Delinearization Re-apply "[SCEV] Strengthen StrengthenNoWrapFlags (reapply r334428)." 2018-07-13 23:58:46 +00:00
DemandedBits Fix tests after move to utohexstr. 2017-12-28 17:00:37 +00:00
DependenceAnalysis [DA] Delinearise AddRecs if we can prove they don't wrap 2018-06-25 15:13:26 +00:00
DominanceFrontier
Dominators [Dominators] Don't compute DFS InOut numbers eagerly. 2017-06-30 01:28:21 +00:00
GlobalsModRef [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
IVUsers Re-apply "[SCEV] Strengthen StrengthenNoWrapFlags (reapply r334428)." 2018-07-13 23:58:46 +00:00
LazyCallGraph
LazyValueAnalysis [JumpThreading] Preservation of DT and LVI across the pass 2018-01-12 21:06:48 +00:00
LegacyDivergenceAnalysis AMDGPU: Fix tests using old number for constant address space 2018-09-10 02:54:25 +00:00
Lint [Lint] Upgrade uses of MemoryIntrinic::getAlignment() to new API. (NFCI) 2018-01-31 16:42:15 +00:00
LoopAccessAnalysis [LV] Teach vectorizer about variant value store into uniform address 2018-10-16 15:46:26 +00:00
LoopInfo
MemoryDependenceAnalysis [MemDep] Fixed handling of invariant.group 2018-05-18 22:40:34 +00:00
MemorySSA llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
MustExecute [MustExecute] Fix algorithmic bug in isGuaranteedToExecute. PR38514 2018-08-17 06:19:17 +00:00
PhiValues Add a PhiValuesAnalysis pass to calculate the underlying values of phis 2018-06-28 14:13:06 +00:00
PostDominators [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
ProfileSummary
RegionInfo [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
ScalarEvolution [SCEV] Limit AddRec "simplifications" to avoid combinatorial explosions 2018-10-16 05:26:21 +00:00
ScopedNoAliasAA
TypeBasedAliasAnalysis [FunctionAttrs] Infer WriteOnly Function Attribute 2018-08-23 15:05:22 +00:00
ValueTracking InstCombine: move hasOneUse check to the top of foldICmpAddConstant 2018-09-10 14:26:44 +00:00
alias-analysis-uses.ll