1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/include/llvm/Analysis
Jonas Paulsson b15d643e4a [LoopVectorizer, TTI] New method supportsEfficientVectorElementLoadStore()
Since SystemZ supports vector element load/store instructions, there is no
need for extracts/inserts if a vector load/store gets scalarized.

This patch lets Target specify that it supports such instructions by means of
a new TTI hook that defaults to false.

The use for this is in the LoopVectorizer getScalarizationOverhead() method,
which will with this patch produce a smaller sum for a vector load/store on
SystemZ.

New test: test/Transforms/LoopVectorize/SystemZ/load-store-scalarization-cost.ll

Review: Adam Nemet
https://reviews.llvm.org/D30680

llvm-svn: 300056
2017-04-12 12:41:37 +00:00
..
AliasAnalysis.h AliasAnalysis: Be less conservative about volatile than atomic. 2017-04-07 01:28:36 +00:00
AliasAnalysisEvaluator.h
AliasSetTracker.h Use a WeakVH for UnknownInstructions in AliasSetTracker 2017-03-11 01:15:48 +00:00
AssumptionCache.h AssumptionCache: Disable the verifier by default, move it behind a hidden cl::opt and verify from releaseMemory(). 2017-02-15 21:10:09 +00:00
BasicAliasAnalysis.h De-duplicate some code for creating an AARGetter suitable for the legacy PM. 2017-02-09 23:11:52 +00:00
BlockFrequencyInfo.h Add an interface to scale the frequencies of a set of blocks. 2017-01-19 18:53:16 +00:00
BlockFrequencyInfoImpl.h Add support to dump dot graph block layout after MBP 2017-01-29 01:57:02 +00:00
BranchProbabilityInfo.h [BPI] Refactor post domination calculation and simple fix for ColdCall 2017-04-12 05:42:14 +00:00
CallGraph.h [PH] Replace uses of AssertingVH from members of analysis results with 2017-01-24 12:55:57 +00:00
CallGraphSCCPass.h
CallPrinter.h
CaptureTracking.h
CFG.h
CFGPrinter.h [IR] Redesign the case iterator in SwitchInst to actually be an iterator 2017-04-12 07:27:28 +00:00
CFLAndersAliasAnalysis.h
CFLSteensAliasAnalysis.h
CGSCCPassManager.h Revert r293017 and fix the actual underlying issue. 2017-02-07 01:50:48 +00:00
CodeMetrics.h
ConstantFolding.h InstSimplify: Add a hook for shufflevector 2017-04-03 22:05:30 +00:00
DemandedBits.h
DependenceAnalysis.h
DivergenceAnalysis.h
DominanceFrontier.h [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
DominanceFrontierImpl.h
DomPrinter.h
DOTGraphTraitsPass.h
EHPersonalities.h
GlobalsModRef.h
IndirectCallPromotionAnalysis.h
IndirectCallSiteVisitor.h Fix the samplepgo indirect call promotion bug: we should not promote a direct call. 2017-02-06 23:33:15 +00:00
InlineCost.h Improve PGO support for the new inliner 2017-01-20 22:44:04 +00:00
InstructionSimplify.h InstSimplify: Add a hook for shufflevector 2017-04-03 22:05:30 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IteratedDominanceFrontier.h
IVUsers.h [PM] Separate the LoopAnalysisManager from the LoopPassManager and move 2017-01-11 09:43:56 +00:00
LazyBlockFrequencyInfo.h [LazyBFI] Fix typos 2017-02-14 17:21:12 +00:00
LazyBranchProbabilityInfo.h Add new pass LazyMachineBlockFrequencyInfo 2017-02-14 17:21:09 +00:00
LazyCallGraph.h [PM/LCG] Teach the LazyCallGraph how to replace a function without 2017-02-09 23:24:13 +00:00
LazyValueInfo.h [LVI] Add an LVI printer pass to capture test LVI cache after transformations 2017-03-22 19:27:12 +00:00
Lint.h
Loads.h Extract FindAvailablePtrLoadStore out of FindAvailableLoadedValue. NFCI 2017-03-19 15:27:52 +00:00
LoopAccessAnalysis.h [SLP] Revert everything that has to do with memory access sorting. 2017-03-10 18:59:07 +00:00
LoopAnalysisManager.h Revert r293017 and fix the actual underlying issue. 2017-02-07 01:50:48 +00:00
LoopInfo.h More comments for getUniqueExitBlocks. NFCI 2017-02-21 19:08:03 +00:00
LoopInfoImpl.h Remove unused functions. Remove static qualifier from functions in header files. NFC. 2017-04-11 14:55:32 +00:00
LoopIterator.h
LoopPass.h
LoopUnrollAnalyzer.h
MemoryBuiltins.h Let llvm.objectsize be conservative with null pointers 2017-03-21 20:08:59 +00:00
MemoryDependenceAnalysis.h [Devirtualization] MemDep returns non-local !invariant.group dependencies 2017-01-12 11:33:58 +00:00
MemoryLocation.h
MemorySSA.h MemorySSA: Move to Analysis, from Transforms/Utils. It's used as 2017-04-11 20:06:36 +00:00
MemorySSAUpdater.h MemorySSA: Move to Analysis, from Transforms/Utils. It's used as 2017-04-11 20:06:36 +00:00
ModuleSummaryAnalysis.h
ObjCARCAliasAnalysis.h
ObjCARCAnalysisUtils.h
ObjCARCInstKind.h
ObjectUtils.h Move llvm::canBeOmittedFromSymbolTable() to Analysis. 2017-03-31 04:46:31 +00:00
OptimizationDiagnosticInfo.h [ORE] Remove ORE.emit{{.+}} functions 2017-02-23 21:32:53 +00:00
OrderedBasicBlock.h
Passes.h
PHITransAddr.h
PostDominators.h [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
ProfileSummaryInfo.h Use isFunctionHotInCallGraph to set the function section prefix. 2017-03-23 23:14:11 +00:00
PtrUseVisitor.h [IR/Analysis] Defend against getting slightly wrong template arguments 2017-02-07 03:17:30 +00:00
RegionInfo.h [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
RegionInfoImpl.h
RegionIterator.h
RegionPass.h
RegionPrinter.h
ScalarEvolution.h [ScalarEvolution] Re-enable Predicate implication from operations 2017-03-31 12:05:30 +00:00
ScalarEvolutionAliasAnalysis.h
ScalarEvolutionExpander.h
ScalarEvolutionExpressions.h
ScalarEvolutionNormalization.h
ScopedNoAliasAA.h
SparsePropagation.h
TargetFolder.h
TargetLibraryInfo.def [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
TargetLibraryInfo.h [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
TargetTransformInfo.h [LoopVectorizer, TTI] New method supportsEfficientVectorElementLoadStore() 2017-04-12 12:41:37 +00:00
TargetTransformInfoImpl.h [LoopVectorizer, TTI] New method supportsEfficientVectorElementLoadStore() 2017-04-12 12:41:37 +00:00
Trace.h
TypeBasedAliasAnalysis.h
TypeMetadataUtils.h Analysis: Add appropriate const qualification to functions in TypeMetadataUtils.cpp. NFC. 2017-01-27 22:55:30 +00:00
ValueTracking.h Revert r298711 "[InstCombine] Provide a way to calculate KnownZero/One for Add/Sub in SimplifyDemandedUseBits without recursing into ComputeKnownBits" 2017-03-24 22:12:10 +00:00
VectorUtils.h [LV] Move interleaved access helper functions to VectorUtils (NFC) 2017-02-01 17:45:46 +00:00