LLVM
8.0.1
|
Provides information about what library functions are available for the current target. More...
#include "llvm/Analysis/TargetLibraryInfo.h"
Friends | |
class | TargetLibraryAnalysis |
class | TargetLibraryInfoWrapperPass |
Provides information about what library functions are available for the current target.
This both allows optimizations to handle them specially and frontends to disable such optimizations through -fno-builtin etc.
Definition at line 206 of file TargetLibraryInfo.h.
|
inlineexplicit |
Definition at line 213 of file TargetLibraryInfo.h.
|
inline |
Definition at line 216 of file TargetLibraryInfo.h.
|
inline |
Definition at line 217 of file TargetLibraryInfo.h.
|
inline |
Returns extension attribute kind to be used for i32 parameters corresponding to C-level int or unsigned int.
May be zeroext, signext, or none.
Definition at line 305 of file TargetLibraryInfo.h.
References llvm::Attribute::None, llvm::Attribute::SExt, Signed, and llvm::Attribute::ZExt.
Referenced by getOrInsertValueProfilingCall(), and shouldKeepInEntry().
|
inline |
Returns extension attribute kind to be used for i32 return values corresponding to C-level int or unsigned int.
May be zeroext, signext, or none.
Definition at line 316 of file TargetLibraryInfo.h.
References llvm::Attribute::None, llvm::Attribute::SExt, Signed, and llvm::Attribute::ZExt.
Searches 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 231 of file TargetLibraryInfo.h.
References llvm::TargetLibraryInfoImpl::getLibFunc().
Referenced by llvm::callsGCLeafFunction(), computeUnlikelySuccessors(), FindCXAAtExit(), getAllocationDataForFunction(), llvm::MemoryLocation::getForArgument(), llvm::getIntrinsicForCallSite(), llvm::inferLibFuncAttributes(), llvm::isFreeCall(), isKnownLibFunction(), isLocallyOpenedFile(), llvm::isMathLibCallNoop(), isWriteOnlyParam(), llvm::maybeMarkSanitizerLibraryCallNoBuiltin(), llvm::FortifiedLibCallSimplifier::optimizeCall(), optimizeCall(), runPartiallyInlineLibCalls(), and shouldKeepInEntry().
Definition at line 235 of file TargetLibraryInfo.h.
References llvm::TargetLibraryInfoImpl::getLibFunc().
|
inline |
If a callsite does not have the 'nobuiltin' attribute, return if the called function is a known library function and set F to that function.
Definition at line 241 of file TargetLibraryInfo.h.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), and llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isNoBuiltin().
Definition at line 292 of file TargetLibraryInfo.h.
References assert(), F(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by llvm::emitCalloc(), llvm::emitFGetCUnlocked(), llvm::emitFGetSUnlocked(), llvm::emitFPutC(), llvm::emitFPutCUnlocked(), llvm::emitFPutS(), llvm::emitFPutSUnlocked(), llvm::emitFReadUnlocked(), llvm::emitFWrite(), llvm::emitFWriteUnlocked(), llvm::emitMalloc(), llvm::emitMemChr(), llvm::emitMemCmp(), llvm::emitPutChar(), llvm::emitPutS(), llvm::emitStrChr(), llvm::emitStrLen(), llvm::emitStrNCmp(), FindCXAAtExit(), llvm::getUnaryFloatFn(), and hasAnalyzableMemoryWrite().
Definition at line 256 of file TargetLibraryInfo.h.
References llvm::TargetLibraryInfoImpl::getVectorizedFunction().
Referenced by llvm::InnerLoopVectorizer::widenInstruction().
Returns the size of the wchar_t type in bytes or 0 if the size is unknown.
This queries the 'wchar_size' metadata.
Definition at line 323 of file TargetLibraryInfo.h.
References llvm::TargetLibraryInfoImpl::getWCharSize().
Tests whether a library function is available.
Definition at line 247 of file TargetLibraryInfo.h.
Referenced by llvm::callsGCLeafFunction(), CanCombineFCOPYSIGN_EXTEND_ROUND(), llvm::canConstantFoldCallTo(), deleteDeadInstruction(), llvm::emitCalloc(), llvm::emitFGetCUnlocked(), llvm::emitFGetSUnlocked(), llvm::emitFPutC(), llvm::emitFPutCUnlocked(), llvm::emitFPutS(), llvm::emitFPutSUnlocked(), llvm::emitFReadUnlocked(), llvm::emitFWrite(), llvm::emitFWriteUnlocked(), llvm::emitMalloc(), llvm::emitMemChr(), llvm::emitMemCmp(), llvm::emitMemCpyChk(), llvm::emitPutChar(), llvm::emitPutS(), llvm::emitStrChr(), llvm::emitStrCpy(), llvm::emitStrLen(), llvm::emitStrNCmp(), llvm::emitStrNCpy(), FindCXAAtExit(), getAllocationDataForFunction(), llvm::MemoryLocation::getForArgument(), hasAnalyzableMemoryWrite(), llvm::hasUnaryFloatFn(), llvm::inferLibFuncAttributes(), llvm::isFreeCall(), isLocallyOpenedFile(), isWriteOnlyParam(), and runPartiallyInlineLibCalls().
Tests if the function is both available and a candidate for optimized code generation.
Definition at line 262 of file TargetLibraryInfo.h.
Referenced by llvm::maybeMarkSanitizerLibraryCallNoBuiltin().
|
inline |
Handle invalidation from the pass manager.
If we try to invalidate this info, just return false. It cannot become invalid even if the module or function changes.
Definition at line 331 of file TargetLibraryInfo.h.
|
inline |
Definition at line 335 of file TargetLibraryInfo.h.
Definition at line 250 of file TargetLibraryInfo.h.
References llvm::TargetLibraryInfoImpl::isFunctionVectorizable().
Referenced by getVectorCallCost(), isKnownLibFunction(), and llvm::MemoryDepChecker::Dependence::print().
Definition at line 253 of file TargetLibraryInfo.h.
References llvm::TargetLibraryInfoImpl::isFunctionVectorizable().
|
inline |
Definition at line 218 of file TargetLibraryInfo.h.
|
inline |
Definition at line 222 of file TargetLibraryInfo.h.
|
friend |
Definition at line 207 of file TargetLibraryInfo.h.
|
friend |
Definition at line 208 of file TargetLibraryInfo.h.