LLVM API Documentation
#include <TargetLibraryInfo.h>
Public Member Functions | |
TargetLibraryInfo () | |
TargetLibraryInfo (const Triple &T) | |
TargetLibraryInfo (const TargetLibraryInfo &TLI) | |
bool | getLibFunc (StringRef funcName, LibFunc::Func &F) const |
bool | has (LibFunc::Func F) const |
bool | hasOptimizedCodeGen (LibFunc::Func F) const |
StringRef | getName (LibFunc::Func F) const |
void | setUnavailable (LibFunc::Func F) |
void | setAvailable (LibFunc::Func F) |
void | setAvailableWithName (LibFunc::Func F, StringRef Name) |
void | disableAllFunctions () |
![]() | |
virtual void | initializePass () |
virtual ImmutablePass * | getAsImmutablePass () |
bool | runOnModule (Module &) |
ImmutablePass (char &pid) | |
virtual | ~ImmutablePass () |
![]() | |
Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
createPrinterPass - Get a module printer pass. More... | |
virtual void | assignPassManager (PMStack &PMS, PassManagerType T) |
virtual PassManagerType | getPotentialPassManagerType () const |
Return what kind of Pass Manager can manage this pass. More... | |
ModulePass (char &pid) | |
virtual | ~ModulePass () |
![]() | |
Pass (PassKind K, char &pid) | |
virtual | ~Pass () |
PassKind | getPassKind () const |
virtual const char * | getPassName () const |
AnalysisID | getPassID () const |
getPassID - Return the PassID number that corresponds to this pass. More... | |
virtual bool | doInitialization (Module &) |
virtual bool | doFinalization (Module &) |
virtual void | print (raw_ostream &O, const Module *M) const |
void | dump () const |
virtual void | preparePassManager (PMStack &) |
Check if available pass managers are suitable for this pass or not. More... | |
void | setResolver (AnalysisResolver *AR) |
AnalysisResolver * | getResolver () const |
virtual void | getAnalysisUsage (AnalysisUsage &) const |
virtual void | releaseMemory () |
virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
virtual PMDataManager * | getAsPMDataManager () |
virtual void | verifyAnalysis () const |
virtual void | dumpPassStructure (unsigned Offset=0) |
template<typename AnalysisType > | |
AnalysisType * | getAnalysisIfAvailable () const |
bool | mustPreserveAnalysisID (char &AID) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis () const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis (Function &F) |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI, Function &F) |
Static Public Attributes | |
static char | ID |
Additional Inherited Members | |
![]() | |
static const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
TargetLibraryInfo - This immutable pass captures information about what library functions are available for the current target, and allows a frontend to disable optimizations through -fno-builtin etc.
Definition at line 657 of file TargetLibraryInfo.h.
TargetLibraryInfo::TargetLibraryInfo | ( | ) |
Definition at line 620 of file TargetLibraryInfo.cpp.
References initialize(), and llvm::Intrinsic::memset.
TargetLibraryInfo::TargetLibraryInfo | ( | const Triple & | T | ) |
Definition at line 627 of file TargetLibraryInfo.cpp.
References initialize(), and llvm::Intrinsic::memset.
|
explicit |
Definition at line 634 of file TargetLibraryInfo.cpp.
References llvm::Intrinsic::memcpy.
void TargetLibraryInfo::disableAllFunctions | ( | ) |
disableAllFunctions - This disables all builtins, which is used for options like -fno-builtin.
Definition at line 683 of file TargetLibraryInfo.cpp.
References llvm::Intrinsic::memset.
bool TargetLibraryInfo::getLibFunc | ( | StringRef | funcName, |
LibFunc::Func & | F | ||
) | const |
getLibFunc - Search for a particular function name. If it is one of the known library functions, return true and set F to the corresponding value.
Definition at line 659 of file TargetLibraryInfo.cpp.
References llvm::StringRef::empty(), llvm::StringRef::find(), llvm::StringRef::front(), I, llvm::StringRef::npos, llvm::LibFunc::NumLibFuncs, and llvm::StringRef::substr().
Referenced by getAllocationData(), getIntrinsicIDForCall(), llvm::LibCallSimplifierImpl::hasFloatVersion(), llvm::isFreeCall(), llvm::LibCallSimplifierImpl::lookupOptimization(), and llvm::FastISel::SelectInstruction().
|
inline |
Definition at line 722 of file TargetLibraryInfo.h.
References F(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find().
Referenced by accumulateAndSortLibcalls(), llvm::EmitFPutS(), llvm::EmitFWrite(), FindCXAAtExit(), and hasMemoryWrite().
|
inline |
has - This function is used by optimizations that want to match on or form a given library function.
Definition at line 688 of file TargetLibraryInfo.h.
Referenced by accumulateAndSortLibcalls(), llvm::ConstantFoldCall(), llvm::EmitFPutC(), llvm::EmitFPutS(), llvm::EmitFWrite(), llvm::EmitMemChr(), llvm::EmitMemCmp(), llvm::EmitMemCpyChk(), llvm::EmitPutChar(), llvm::EmitPutS(), llvm::EmitStrChr(), llvm::EmitStrCpy(), llvm::EmitStrLen(), llvm::EmitStrNCmp(), llvm::EmitStrNCpy(), llvm::EmitStrNLen(), FindCXAAtExit(), getAllocationData(), llvm::LibCallSimplifierImpl::hasFloatVersion(), hasMemoryWrite(), llvm::isFreeCall(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
inline |
hasOptimizedCodeGen - Return true if the function is both available as a builtin and a candidate for optimized code generation.
Definition at line 694 of file TargetLibraryInfo.h.
References llvm::LibFunc::ceil, llvm::LibFunc::ceilf, llvm::LibFunc::ceill, llvm::LibFunc::copysign, llvm::LibFunc::copysignf, llvm::LibFunc::copysignl, llvm::LibFunc::cos, llvm::LibFunc::cosf, llvm::LibFunc::cosl, llvm::LibFunc::exp2, llvm::LibFunc::exp2f, llvm::LibFunc::exp2l, llvm::LibFunc::fabs, llvm::LibFunc::fabsf, llvm::LibFunc::fabsl, llvm::LibFunc::floor, llvm::LibFunc::floorf, llvm::LibFunc::floorl, llvm::LibFunc::log2, llvm::LibFunc::log2f, llvm::LibFunc::log2l, llvm::LibFunc::memchr, llvm::LibFunc::memcmp, llvm::LibFunc::nearbyint, llvm::LibFunc::nearbyintf, llvm::LibFunc::nearbyintl, llvm::LibFunc::rint, llvm::LibFunc::rintf, llvm::LibFunc::rintl, llvm::LibFunc::round, llvm::LibFunc::roundf, llvm::LibFunc::roundl, llvm::LibFunc::sin, llvm::LibFunc::sinf, llvm::LibFunc::sinl, llvm::LibFunc::sqrt, llvm::LibFunc::sqrt_finite, llvm::LibFunc::sqrtf, llvm::LibFunc::sqrtf_finite, llvm::LibFunc::sqrtl, llvm::LibFunc::sqrtl_finite, llvm::LibFunc::stpcpy, llvm::LibFunc::strcmp, llvm::LibFunc::strcpy, llvm::LibFunc::strlen, llvm::LibFunc::strnlen, llvm::LibFunc::trunc, llvm::LibFunc::truncf, and llvm::LibFunc::truncl.
Referenced by llvm::FastISel::SelectInstruction().
|
inline |
Definition at line 738 of file TargetLibraryInfo.h.
|
inline |
Definition at line 742 of file TargetLibraryInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), F(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find().
Referenced by initialize().
|
inline |
setUnavailable - this can be used by whatever sets up TargetLibraryInfo to ban use of specific library functions.
Definition at line 734 of file TargetLibraryInfo.h.
Referenced by initialize().
|
static |
Definition at line 677 of file TargetLibraryInfo.h.