LLVM  8.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::AMDGPULibCalls Class Reference
Collaboration diagram for llvm::AMDGPULibCalls:
Collaboration graph
[legend]

Public Member Functions

bool fold (CallInst *CI, AliasAnalysis *AA=nullptr)
 
void initNativeFuncs ()
 
bool useNative (CallInst *CI)
 

Protected Member Functions

bool isUnsafeMath (const CallInst *CI) const
 
void replaceCall (Value *With)
 

Protected Attributes

CallInstCI
 

Detailed Description

Definition at line 64 of file AMDGPULibCalls.cpp.

Member Function Documentation

◆ fold()

bool AMDGPULibCalls::fold ( CallInst CI,
AliasAnalysis AA = nullptr 
)

Definition at line 636 of file AMDGPULibCalls.cpp.

References assert(), B, CI, Context, llvm::IRBuilder< T, Inserter >::CreateFDiv(), llvm::IRBuilder< T, Inserter >::CreateFMul(), llvm::dbgs(), llvm::dyn_cast(), llvm::AMDGPULibFuncBase::EI_COS, llvm::AMDGPULibFuncBase::EI_DIVIDE, llvm::AMDGPULibFuncBase::EI_FMA, llvm::AMDGPULibFuncBase::EI_MAD, llvm::AMDGPULibFuncBase::EI_NFMA, llvm::AMDGPULibFuncBase::EI_POW, llvm::AMDGPULibFuncBase::EI_POWN, llvm::AMDGPULibFuncBase::EI_POWR, llvm::AMDGPULibFuncBase::EI_READ_PIPE_2, llvm::AMDGPULibFuncBase::EI_READ_PIPE_4, llvm::AMDGPULibFuncBase::EI_RECIP, llvm::AMDGPULibFuncBase::EI_ROOTN, llvm::AMDGPULibFuncBase::EI_SIN, llvm::AMDGPULibFuncBase::EI_SQRT, llvm::AMDGPULibFuncBase::EI_WRITE_PIPE_2, llvm::AMDGPULibFuncBase::EI_WRITE_PIPE_4, llvm::errs(), llvm::AMDGPULibFuncBase::F32, llvm::AMDGPULibFuncBase::F64, false, llvm::ConstantFP::get(), llvm::ConstantDataVector::get(), llvm::CallBase::getArgOperand(), getArgType(), llvm::CallBase::getCalledFunction(), llvm::BasicBlock::getContext(), llvm::Function::getContext(), llvm::AMDGPULibFunc::getId(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::Instruction::getModule(), llvm::Value::getName(), llvm::CallBase::getNumArgOperands(), llvm::AMDGPULibFunc::getNumArgs(), getOptTable(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::AMDGPULibFunc::getPrefix(), llvm::Value::getType(), getVecSize(), llvm::AMDGPULibFuncBase::HALF, HasNative(), llvm::ConstantFP::isExactlyValue(), isUnsafeMath(), LLVM_DEBUG, llvm::AMDGPULibFuncBase::NATIVE, llvm::AMDGPULibFuncBase::NOPFX, llvm::SmallVectorTemplateBase< T >::push_back(), replaceCall(), llvm::CallBase::setCalledFunction(), llvm::IRBuilderBase::setFastMathFlags(), llvm::IRBuilderBase::SetInsertPoint(), llvm::AMDGPULibFunc::setPrefix(), llvm::SmallVectorBase::size(), TableRef::size, and TableRef::table.

Referenced by replaceCall().

◆ initNativeFuncs()

void AMDGPULibCalls::initNativeFuncs ( )

◆ isUnsafeMath()

bool AMDGPULibCalls::isUnsafeMath ( const CallInst CI) const
protected

◆ replaceCall()

void llvm::AMDGPULibCalls::replaceCall ( Value With)
inlineprotected

◆ useNative()

bool AMDGPULibCalls::useNative ( CallInst CI)

Member Data Documentation

◆ CI

CallInst* llvm::AMDGPULibCalls::CI
protected

Definition at line 146 of file AMDGPULibCalls.cpp.

Referenced by fold(), and useNative().


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