1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/include/llvm/Analysis
Joel Jones 74a51d699d [AArch64] Enable libm vectorized functions via SLEEF
This changeset is modeled after Intel's submission for SVML. It enables
trigonometry functions vectorization via SLEEF: http://sleef.org/.

 * A new vectorization library enum is added to TargetLibraryInfo.h: SLEEF.
 * A new option is added to TargetLibraryInfoImpl - ClVectorLibrary: SLEEF.
 * A comprehensive test case is included in this changeset.
 * In a separate changeset (for clang), a new vectorization library argument is
   added to -fveclib: -fveclib=SLEEF.

Trigonometry functions that are vectorized by sleef:

acos
asin
atan
atanh
cos
cosh
exp
exp2
exp10
lgamma
log10
log2
log
sin
sinh
sqrt
tan
tanh
tgamma

Patch by Stefan Teleman
Differential Revision: https://reviews.llvm.org/D53927

llvm-svn: 347510
2018-11-24 06:41:39 +00:00
..
Utils Add missing header 2018-06-04 21:33:56 +00:00
AliasAnalysis.h Allow subclassing ExternalAA 2018-11-07 20:26:42 +00:00
AliasAnalysisEvaluator.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AliasSetTracker.h [AliasSetTracker] Misc cleanup (NFCI) 2018-11-01 23:37:51 +00:00
AssumptionCache.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
BasicAliasAnalysis.h [BasicAA] Use PhiValuesAnalysis if available when handling phi alias 2018-07-30 11:52:08 +00:00
BlockFrequencyInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
BlockFrequencyInfoImpl.h Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
BranchProbabilityInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CallGraph.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +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 [TI removal] Remove TerminatorInst as an input parameter from all public 2018-10-15 09:17:09 +00:00
CFGPrinter.h [TI removal] Just use Instruction in the CFG printer code. NFC. 2018-10-15 09:33:40 +00:00
CFLAliasAnalysisUtils.h
CFLAndersAliasAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CFLSteensAliasAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CGSCCPassManager.h [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
CmpInstAnalysis.h
CodeMetrics.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ConstantFolding.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DemandedBits.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DependenceAnalysis.h [DA] Delinearise AddRecs if we can prove they don't wrap 2018-06-25 15:13:26 +00:00
DivergenceAnalysis.h [TI removal] Switch some newly added code over to use Instruction 2018-10-19 00:22:10 +00:00
DominanceFrontier.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DominanceFrontierImpl.h IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
DomPrinter.h
DOTGraphTraitsPass.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
EHPersonalities.h [WebAssembly] Add Wasm personality and isScopedEHPersonality() 2018-05-17 20:52:03 +00:00
GlobalsModRef.h
GuardUtils.h Re-enable "[NFC] Unify guards detection" 2018-08-30 03:39:16 +00:00
IndirectCallPromotionAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
IndirectCallSiteVisitor.h Add header guards to some headers that are missing them 2018-09-03 16:22:05 +00:00
InlineCost.h [InlineCost] Remove a dead constant; NFC 2018-10-31 22:45:31 +00:00
InstructionPrecedenceTracking.h [LICM] Hoist guards from non-header blocks 2018-11-12 09:29:58 +00:00
InstructionSimplify.h [InstrSimplify,NewGVN] Add option to ignore additional instr info when simplifying. 2018-08-17 14:39:04 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IteratedDominanceFrontier.h [IDF] Make GraphDiff a const constructor argument. 2018-08-23 21:56:30 +00:00
IVDescriptors.h Revert r344172: [LV] Add a new reduction pattern match 2018-10-27 22:13:43 +00:00
IVUsers.h
LazyBlockFrequencyInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LazyBranchProbabilityInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LazyCallGraph.h
LazyValueInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LegacyDivergenceAnalysis.h [NFC] Rename the DivergenceAnalysis to LegacyDivergenceAnalysis 2018-08-30 14:21:36 +00:00
Lint.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
Loads.h
LoopAccessAnalysis.h [LV] Avoid vectorizing unsafe dependencies in uniform address 2018-11-19 15:39:59 +00:00
LoopAnalysisManager.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LoopInfo.h [LoopInfo] Port loop exit interfaces from Loop to LoopBase 2018-07-09 17:52:49 +00:00
LoopInfoImpl.h llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
LoopIterator.h
LoopPass.h
LoopUnrollAnalyzer.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MemoryBuiltins.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MemoryDependenceAnalysis.h Replace most users of UnknownSize with LocationSize::unknown(); NFC 2018-10-10 21:28:44 +00:00
MemoryLocation.h Replace most users of UnknownSize with LocationSize::unknown(); NFC 2018-10-10 21:28:44 +00:00
MemorySSA.h API to update MemorySSA for cloned blocks and added CFG edges. 2018-09-10 20:13:01 +00:00
MemorySSAUpdater.h API to update MemorySSA for cloned blocks and added CFG edges. 2018-09-10 20:13:01 +00:00
ModuleSummaryAnalysis.h
MustExecute.h [LICM] Hoist guards from non-header blocks 2018-11-12 09:29:58 +00:00
ObjCARCAliasAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ObjCARCAnalysisUtils.h ProvenanceAnalysis: Store WeakTrackingVH instead of Value* in UnderlyingValue Cache. 2018-06-21 05:14:00 +00:00
ObjCARCInstKind.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
OptimizationRemarkEmitter.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
OrderedBasicBlock.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
OrderedInstructions.h [NFC] Move OrderedInstructions and InstructionPrecedenceTracking to Analysis 2018-08-30 04:49:03 +00:00
Passes.h [NFC] Rename the DivergenceAnalysis to LegacyDivergenceAnalysis 2018-08-30 14:21:36 +00:00
PHITransAddr.h [Docs] Escape the @ symbol, so that it appears in documentation output. [NFC] 2018-04-26 21:55:45 +00:00
PhiValues.h [PhiValues] Use callback value handles to invalidate deleted values 2018-08-24 15:48:30 +00:00
PostDominators.h [Dominators] Add PDT constructor from Function 2018-05-23 17:29:21 +00:00
ProfileSummaryInfo.h [ProfileSummary] Standardize methods and fix comment 2018-11-19 05:23:16 +00:00
PtrUseVisitor.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
RegionInfo.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
RegionInfoImpl.h Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
RegionIterator.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
RegionPass.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
RegionPrinter.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
ScalarEvolution.h [NFC] Factor out getOrCreateAddRecExpr method 2018-10-11 08:46:39 +00:00
ScalarEvolutionAliasAnalysis.h
ScalarEvolutionExpander.h [SCEV] Add an expandAddToGEP overload for a single operand. NFC. 2018-07-26 21:55:03 +00:00
ScalarEvolutionExpressions.h Revert "[SCEV] Use LLVM_MARK_AS_BITMASK_ENUM in SCEV." -- breaks MSVC builds. 2018-06-16 00:14:10 +00:00
ScalarEvolutionNormalization.h
ScopedNoAliasAA.h
SparsePropagation.h [TI removal] Remove TerminatorInst from SparsePropagation.h and 2018-10-15 09:47:26 +00:00
SyncDependenceAnalysis.h [TI removal] Switch some newly added code over to use Instruction 2018-10-19 00:22:10 +00:00
SyntheticCountsUtils.h
TargetFolder.h
TargetLibraryInfo.def [GCOV] Flush counters before to avoid counting the execution before fork twice and for exec** functions we must flush before the call 2018-11-07 13:49:17 +00:00
TargetLibraryInfo.h [AArch64] Enable libm vectorized functions via SLEEF 2018-11-24 06:41:39 +00:00
TargetTransformInfo.h [TTI] Make TargetTransformInfo::getOperandInfo static. NFCI. 2018-11-13 13:45:10 +00:00
TargetTransformInfoImpl.h Add support for llvm.is.constant intrinsic (PR4898) 2018-11-07 15:24:12 +00:00
Trace.h
TypeBasedAliasAnalysis.h
TypeMetadataUtils.h [WPD] Fix incorrect devirtualization after indirect call promotion 2018-09-27 14:55:32 +00:00
ValueLattice.h [ValueLattice] Return false if value range did not change in mergeIn. 2018-06-27 12:57:51 +00:00
ValueLatticeUtils.h
ValueTracking.h Merge clang's isRepeatedBytePattern with LLVM's isBytewiseValue 2018-09-21 05:17:42 +00:00
VectorUtils.h [VPlan] VPlan version of InterleavedAccessInfo. 2018-11-13 15:58:18 +00:00