LLVM  4.0.0
Macros | Functions | Variables
TargetLibraryInfo.cpp File Reference
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Analysis/TargetLibraryInfo.def"
Include dependency graph for TargetLibraryInfo.cpp:

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 - 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")))
 

Macro Definition Documentation

#define TLI_DEFINE_STRING

Function Documentation

static bool compareByScalarFnName ( const VecDesc LHS,
const VecDesc RHS 
)
static
static bool compareByVectorFnName ( const VecDesc LHS,
const VecDesc RHS 
)
static
static bool compareWithScalarFnName ( const VecDesc LHS,
StringRef  S 
)
static
static bool compareWithVectorFnName ( const VecDesc LHS,
StringRef  S 
)
static
static bool hasSinCosPiStret ( const Triple T)
static
static void initialize ( TargetLibraryInfoImpl TLI,
const Triple T,
ArrayRef< StringRef StandardNames 
)
static

initialize - 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 55 of file TargetLibraryInfo.cpp.

References access, llvm::TargetLibraryInfoImpl::addVectorizableFunctionsFromVecLib(), llvm::Triple::amdgcn, assert(), llvm::ArrayRef< T >::begin(), ClVectorLibrary, llvm::Triple::Darwin, llvm::TargetLibraryInfoImpl::disableAllFunctions(), llvm::ArrayRef< T >::end(), llvm::Triple::FreeBSD, llvm::Triple::getArch(), llvm::Triple::getOS(), hasSinCosPiStret(), llvm::Triple::IOS, llvm::Triple::isiOS(), llvm::Triple::isMacOSX(), llvm::Triple::isMacOSXVersionLT(), 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::mips, llvm::Triple::mips64, llvm::Triple::mips64el, llvm::Triple::mipsel, llvm::Triple::ppc64, llvm::Triple::ppc64le, llvm::Triple::r600, llvm::support::endian::read(), round(), 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, write(), llvm::Triple::x86, llvm::Triple::x86_64, and llvm::Triple::xcore.

Referenced by 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(), and llvm::TargetLibraryInfoImpl::TargetLibraryInfoImpl().

static StringRef sanitizeFunctionName ( StringRef  funcName)
static

Variable Documentation

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")))
static

Referenced by initialize().