LLVM
8.0.1
|
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/ADT/Triple.h"
#include "llvm/IR/Constants.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Analysis/TargetLibraryInfo.def"
Go to the source code of this file.
Macros | |
#define | TLI_DEFINE_STRING |
Functions | |
static bool | hasSinCosPiStret (const Triple &T) |
static void | initialize (TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringRef > StandardNames) |
Initialize the set of available library functions based on the specified target triple. More... | |
static StringRef | sanitizeFunctionName (StringRef funcName) |
static bool | compareByScalarFnName (const VecDesc &LHS, const VecDesc &RHS) |
static bool | compareByVectorFnName (const VecDesc &LHS, const VecDesc &RHS) |
static bool | compareWithScalarFnName (const VecDesc &LHS, StringRef S) |
static bool | compareWithVectorFnName (const VecDesc &LHS, StringRef S) |
Variables | |
static cl::opt< TargetLibraryInfoImpl::VectorLibrary > | ClVectorLibrary ("vector-library", cl::Hidden, cl::desc("Vector functions library"), cl::init(TargetLibraryInfoImpl::NoLibrary), cl::values(clEnumValN(TargetLibraryInfoImpl::NoLibrary, "none", "No vector functions library"), clEnumValN(TargetLibraryInfoImpl::Accelerate, "Accelerate", "Accelerate framework"), clEnumValN(TargetLibraryInfoImpl::SVML, "SVML", "Intel SVML library"))) |
#define TLI_DEFINE_STRING |
Definition at line 1424 of file TargetLibraryInfo.cpp.
References llvm::VecDesc::ScalarFnName.
Referenced by llvm::TargetLibraryInfoImpl::addVectorizableFunctions().
Definition at line 1428 of file TargetLibraryInfo.cpp.
References llvm::VecDesc::VectorFnName.
Referenced by llvm::TargetLibraryInfoImpl::addVectorizableFunctions().
Definition at line 1432 of file TargetLibraryInfo.cpp.
References llvm::VecDesc::ScalarFnName.
Referenced by llvm::TargetLibraryInfoImpl::getVectorizedFunction(), and llvm::TargetLibraryInfoImpl::isFunctionVectorizable().
Definition at line 1436 of file TargetLibraryInfo.cpp.
References llvm::VecDesc::VectorFnName.
Referenced by llvm::TargetLibraryInfoImpl::getScalarizedFunction().
Definition at line 35 of file TargetLibraryInfo.cpp.
References llvm::Triple::getArch(), llvm::Triple::isiOS(), llvm::Triple::isMacOSX(), llvm::Triple::isMacOSXVersionLT(), llvm::Triple::isOSDarwin(), llvm::Triple::isOSVersionLT(), and llvm::Triple::x86.
Referenced by initialize().
|
static |
Initialize the set of available library functions based on the specified target triple.
This should be carefully written so that a missing target triple gets a sane set of defaults.
Definition at line 56 of file TargetLibraryInfo.cpp.
References llvm::Triple::aarch64, llvm::TargetLibraryInfoImpl::addVectorizableFunctionsFromVecLib(), llvm::Triple::amdgcn, llvm::Triple::arm, assert(), llvm::ArrayRef< T >::begin(), ClVectorLibrary, llvm::Triple::Darwin, llvm::TargetLibraryInfoImpl::disableAllFunctions(), llvm::ArrayRef< T >::end(), llvm::Triple::FreeBSD, llvm::Triple::getArch(), llvm::Triple::getEnvironmentVersion(), llvm::Triple::getOS(), hasSinCosPiStret(), llvm::Triple::IOS, llvm::Triple::isAndroid(), llvm::Triple::isAndroidVersionLT(), llvm::Triple::isGNUEnvironment(), llvm::Triple::isiOS(), llvm::Triple::isKnownWindowsMSVCEnvironment(), llvm::Triple::isMacOSX(), llvm::Triple::isMacOSXVersionLT(), llvm::Triple::isMIPS(), llvm::Triple::isMusl(), llvm::Triple::isNVPTX(), llvm::Triple::isOSCygMing(), llvm::Triple::isOSFreeBSD(), llvm::Triple::isOSLinux(), llvm::Triple::isOSVersionLT(), llvm::Triple::isOSWindows(), llvm::Triple::isWatchOS(), llvm::Triple::Linux, LLVM_FALLTHROUGH, llvm::Triple::MacOSX, llvm::Triple::ppc64, llvm::Triple::ppc64le, llvm::Triple::r600, llvm::TargetLibraryInfoImpl::setAvailable(), llvm::TargetLibraryInfoImpl::setAvailableWithName(), llvm::TargetLibraryInfoImpl::setShouldExtI32Param(), llvm::TargetLibraryInfoImpl::setShouldExtI32Return(), llvm::TargetLibraryInfoImpl::setShouldSignExtI32Param(), llvm::TargetLibraryInfoImpl::setUnavailable(), llvm::Triple::sparcv9, llvm::Triple::systemz, llvm::Triple::tce, llvm::Triple::TvOS, llvm::Triple::WatchOS, llvm::Triple::x86, llvm::Triple::x86_64, and llvm::Triple::xcore.
Referenced by llvm::codeview::DebugCrossModuleImportsSubsectionRef::classof(), llvm::codeview::DebugInlineeLinesSubsectionRef::classof(), llvm::codeview::DebugLinesSubsectionRef::classof(), computeBranchTargetAndInversion(), llvm::ConvergingVLIWScheduler::ConvergingVLIWScheduler(), llvm::MachineSchedStrategy::doMBBSchedRegionsTopDown(), llvm::detail::IEEEFloat::IEEEFloat(), llvm::codeview::DebugChecksumsSubsectionRef::initialize(), llvm::bfi_detail::IrreducibleGraph::IrreducibleGraph(), llvm::FastISel::isCommutativeIntrinsic(), llvm::detail::IEEEFloat::isNegZero(), isRegUsedByPhiNodes(), isUnconditionalBranch(), llvm::OProfileWrapper::op_close_agent(), llvm::OProfileWrapper::op_major_version(), llvm::OProfileWrapper::op_minor_version(), llvm::OProfileWrapper::op_open_agent(), llvm::OProfileWrapper::op_unload_native_code(), llvm::OProfileWrapper::op_write_debug_line_info(), llvm::OProfileWrapper::op_write_native_code(), llvm::detail::IEEEFloat::operator=(), llvm::OProfileWrapper::OProfileWrapper(), llvm::GCNIterativeScheduler::OverrideLegacyStrategy::restoreOrder(), llvm::GenericScheduler::shouldTrackLaneMasks(), llvm::PostGenericScheduler::shouldTrackPressure(), llvm::TargetLibraryInfoImpl::TargetLibraryInfoImpl(), llvm::codeview::DebugChecksumsSubsectionRef::valid(), and llvm::writeSignedDecimal().
Definition at line 593 of file TargetLibraryInfo.cpp.
References llvm::GlobalValue::dropLLVMManglingEscape(), llvm::StringRef::empty(), llvm::StringRef::find(), and llvm::StringRef::npos.
Referenced by llvm::TargetLibraryInfoImpl::getScalarizedFunction(), llvm::TargetLibraryInfoImpl::getVectorizedFunction(), and llvm::TargetLibraryInfoImpl::isFunctionVectorizable().
|
static |
Referenced by initialize().