llvm-mirror/include/llvm/Analysis
Matthew Simpson 0ecc1283b2 [TTI, AArch64] Add transpose shuffle kind
This patch adds a new shuffle kind useful for transposing a 2xn matrix. These
transpose shuffle masks read corresponding even- or odd-numbered vector
elements from two n-dimensional source vectors and write each result into
consecutive elements of an n-dimensional destination vector. The transpose
shuffle kind is meant to model the TRN1 and TRN2 AArch64 instructions. As such,
this patch also considers transpose shuffles in the AArch64 implementation of
getShuffleCost.

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

llvm-svn: 330941
2018-04-26 13:48:33 +00:00
..
Utils Fix a couple of layering violations in Transforms 2018-03-21 22:34:23 +00:00
AliasAnalysis.h [AliasAnalysis] Shrink AliasResults; NFC 2018-03-10 03:34:43 +00:00
AliasAnalysisEvaluator.h [ModRefInfo] Add must alias info to ModRefInfo. 2017-12-21 21:41:53 +00:00
AliasSetTracker.h
AssumptionCache.h
BasicAliasAnalysis.h
BlockFrequencyInfo.h Revert r320104: infinite loop profiling bug fix 2017-12-08 19:38:07 +00:00
BlockFrequencyInfoImpl.h MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
BranchProbabilityInfo.h [BranchProbabilityInfo] Handle irreducible loops. 2017-11-01 15:16:50 +00:00
CallGraph.h Remove CallGraphTraits and use equivalent methods in GraphTraits 2018-02-01 19:40:35 +00:00
CallGraphSCCPass.h
CallPrinter.h
CaptureTracking.h [CaptureTracking] Fixup const correctness of DomTree arg (NFC) 2018-04-24 21:12:45 +00:00
CFG.h [LV][CFG] Add irreducible CFG detection for outer loops 2018-03-02 12:24:25 +00:00
CFGPrinter.h
CFLAliasAnalysisUtils.h
CFLAndersAliasAnalysis.h
CFLSteensAliasAnalysis.h
CGSCCPassManager.h [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
CmpInstAnalysis.h
CodeMetrics.h
ConstantFolding.h [Evaluator] Evaluate load/store with bitcast 2018-03-13 10:19:50 +00:00
DemandedBits.h
DependenceAnalysis.h
DivergenceAnalysis.h StructurizeCFG: Test for branch divergence correctly 2018-04-04 10:58:15 +00:00
DominanceFrontier.h Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
DominanceFrontierImpl.h Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
DomPrinter.h
DOTGraphTraitsPass.h
EHPersonalities.h
GlobalsModRef.h
IndirectCallPromotionAnalysis.h
IndirectCallSiteVisitor.h IndirectCallSiteVisitor.h:findIndirectCallSites Don't mark header functions as file-scope static 2017-10-24 17:29:12 +00:00
InlineCost.h [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
InstructionSimplify.h [NFC] Extract out a helper function for SimplifyCall(CS, Q) 2017-12-27 00:16:12 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IteratedDominanceFrontier.h
IVUsers.h
LazyBlockFrequencyInfo.h
LazyBranchProbabilityInfo.h
LazyCallGraph.h
LazyValueInfo.h [JumpThreading] PR36133 enable/disable DominatorTree for LVI analysis 2018-02-16 16:35:17 +00:00
Lint.h
Loads.h
LoopAccessAnalysis.h [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
LoopAnalysisManager.h Add MemorySSA as loop dependency, disabled by default [NFC]. 2017-11-21 15:45:46 +00:00
LoopInfo.h [LoopInfo] Verify BBMap tracks innermost loops for BBs. 2018-04-24 09:10:05 +00:00
LoopInfoImpl.h [LoopInfo] Verify BBMap tracks innermost loops for BBs. 2018-04-24 09:10:05 +00:00
LoopIterator.h [LV][CFG] Add irreducible CFG detection for outer loops 2018-03-02 12:24:25 +00:00
LoopPass.h
LoopUnrollAnalyzer.h
MemoryBuiltins.h MemoryBuiltins.h: Don't mark header functions as file-scope static 2017-10-24 17:29:13 +00:00
MemoryDependenceAnalysis.h Revert "[memcpyopt] Teach memcpyopt to optimize across basic blocks" 2017-12-28 05:10:33 +00:00
MemoryLocation.h [DSE] Teach the pass that atomic memory intrinsics are stores. 2018-04-23 19:06:49 +00:00
MemorySSA.h [MemorySSA] Split PtrIntPair as this fails on win/arm. 2018-03-08 19:15:00 +00:00
MemorySSAUpdater.h [MemorySSAUpdater] Mark Phi users of a node being moved as non-optimize 2018-04-09 20:55:37 +00:00
ModuleSummaryAnalysis.h
MustExecute.h Add missing #includes to Analysis/MustExecute.h 2018-03-21 17:31:45 +00:00
ObjCARCAliasAnalysis.h
ObjCARCAnalysisUtils.h Improve caching scheme in ProvenanceAnalysis. 2018-03-12 20:36:25 +00:00
ObjCARCInstKind.h
OptimizationRemarkEmitter.h Rename OptimizationDiagnosticInfo.* to OptimizationRemarkEmitter.* 2017-10-09 23:19:02 +00:00
OrderedBasicBlock.h
Passes.h Add an analysis printer for must execute reasoning 2018-03-20 17:09:21 +00:00
PHITransAddr.h
PostDominators.h [Dominators] Remove verifyDomTree and add some verifying for Post Dom Trees 2018-02-28 11:00:08 +00:00
ProfileSummaryInfo.h [PGO] Function section hotness prefix should look at all blocks 2017-12-20 17:53:10 +00:00
PtrUseVisitor.h [NFC] fix trivial typos in comments and documents 2018-01-29 05:17:03 +00:00
RegionInfo.h Declare PostDominatorTree as a class 2018-02-09 18:41:42 +00:00
RegionInfoImpl.h RegionInfo: Use report_fatal_error instead of llvm_unreachable 2018-01-05 17:51:36 +00:00
RegionIterator.h
RegionPass.h
RegionPrinter.h
ScalarEvolution.h [LoopSimplify] Fix incorrect SCEV invalidation 2018-04-23 10:32:37 +00:00
ScalarEvolutionAliasAnalysis.h
ScalarEvolutionExpander.h [NFC] fix trivial typos in documents and comments 2018-04-12 05:53:20 +00:00
ScalarEvolutionExpressions.h [SCEV] Make getPostIncExpr guaranteed to return AddRec 2018-02-12 05:09:38 +00:00
ScalarEvolutionNormalization.h
ScopedNoAliasAA.h
SparsePropagation.h [SparsePropagation] Enable interprocedural analysis 2017-10-16 17:44:17 +00:00
SyntheticCountsUtils.h Remove CallGraphTraits and use equivalent methods in GraphTraits 2018-02-01 19:40:35 +00:00
TargetFolder.h
TargetLibraryInfo.def [Analysis] Support aligned new/delete functions. 2018-04-04 19:01:51 +00:00
TargetLibraryInfo.h
TargetTransformInfo.h [TTI, AArch64] Add transpose shuffle kind 2018-04-26 13:48:33 +00:00
TargetTransformInfoImpl.h [LV] Introduce TTI::getMinimumVF 2018-04-13 20:16:32 +00:00
Trace.h
TypeBasedAliasAnalysis.h
TypeMetadataUtils.h
ValueLattice.h [IPSCCP] Add getCompare which returns either true, false, undef or null. 2018-03-05 17:33:50 +00:00
ValueLatticeUtils.h [IPSCCP] Move common functions to ValueLatticeUtils (NFC) 2017-10-13 17:53:44 +00:00
ValueTracking.h [NFC] Factor out a helper function for checking if a block has a potential early implicit exit. 2018-03-08 21:25:30 +00:00
VectorUtils.h