LLVM  3.7.0
Public Member Functions | Friends | List of all members
llvm::TargetLibraryInfo Class Reference

Provides information about what library functions are available for the current target. More...

#include <TargetLibraryInfo.h>

Public Member Functions

 TargetLibraryInfo (const TargetLibraryInfoImpl &Impl)
 
 TargetLibraryInfo (const TargetLibraryInfo &TLI)
 
 TargetLibraryInfo (TargetLibraryInfo &&TLI)
 
TargetLibraryInfooperator= (const TargetLibraryInfo &TLI)
 
TargetLibraryInfooperator= (TargetLibraryInfo &&TLI)
 
bool getLibFunc (StringRef funcName, LibFunc::Func &F) const
 Searches for a particular function name. More...
 
bool has (LibFunc::Func F) const
 Tests whether a library function is available. More...
 
bool isFunctionVectorizable (StringRef F, unsigned VF) const
 
bool isFunctionVectorizable (StringRef F) const
 
StringRef getVectorizedFunction (StringRef F, unsigned VF) const
 
bool hasOptimizedCodeGen (LibFunc::Func F) const
 Tests if the function is both available and a candidate for optimized code generation. More...
 
StringRef getName (LibFunc::Func F) const
 
bool invalidate (Module &, const PreservedAnalyses &)
 Handle invalidation from the pass manager. More...
 

Friends

class TargetLibraryAnalysis
 
class TargetLibraryInfoWrapperPass
 

Detailed Description

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 169 of file TargetLibraryInfo.h.

Constructor & Destructor Documentation

llvm::TargetLibraryInfo::TargetLibraryInfo ( const TargetLibraryInfoImpl Impl)
inlineexplicit

Definition at line 176 of file TargetLibraryInfo.h.

llvm::TargetLibraryInfo::TargetLibraryInfo ( const TargetLibraryInfo TLI)
inline

Definition at line 179 of file TargetLibraryInfo.h.

llvm::TargetLibraryInfo::TargetLibraryInfo ( TargetLibraryInfo &&  TLI)
inline

Definition at line 180 of file TargetLibraryInfo.h.

Member Function Documentation

bool llvm::TargetLibraryInfo::getLibFunc ( StringRef  funcName,
LibFunc::Func F 
) const
inline

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 194 of file TargetLibraryInfo.h.

References llvm::TargetLibraryInfoImpl::getLibFunc().

Referenced by getAllocationData(), llvm::getIntrinsicIDForCall(), llvm::isFreeCall(), llvm::FortifiedLibCallSimplifier::optimizeCall(), and llvm::FastISel::selectInstruction().

StringRef llvm::TargetLibraryInfo::getName ( LibFunc::Func  F) const
inline
StringRef llvm::TargetLibraryInfo::getVectorizedFunction ( StringRef  F,
unsigned  VF 
) const
inline
bool llvm::TargetLibraryInfo::has ( LibFunc::Func  F) const
inline
bool llvm::TargetLibraryInfo::hasOptimizedCodeGen ( LibFunc::Func  F) const
inline

Tests if the function is both available and a candidate for optimized code generation.

Definition at line 214 of file TargetLibraryInfo.h.

Referenced by llvm::FastISel::selectInstruction().

bool llvm::TargetLibraryInfo::invalidate ( Module ,
const PreservedAnalyses  
)
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 changes.

Definition at line 258 of file TargetLibraryInfo.h.

bool llvm::TargetLibraryInfo::isFunctionVectorizable ( StringRef  F,
unsigned  VF 
) const
inline
bool llvm::TargetLibraryInfo::isFunctionVectorizable ( StringRef  F) const
inline
TargetLibraryInfo& llvm::TargetLibraryInfo::operator= ( const TargetLibraryInfo TLI)
inline

Definition at line 181 of file TargetLibraryInfo.h.

TargetLibraryInfo& llvm::TargetLibraryInfo::operator= ( TargetLibraryInfo &&  TLI)
inline

Definition at line 185 of file TargetLibraryInfo.h.

Friends And Related Function Documentation

friend class TargetLibraryAnalysis
friend

Definition at line 170 of file TargetLibraryInfo.h.

friend class TargetLibraryInfoWrapperPass
friend

Definition at line 171 of file TargetLibraryInfo.h.


The documentation for this class was generated from the following file: