LLVM API Documentation
#include <NVPTXLowerAggrCopies.h>
Public Member Functions | |
NVPTXLowerAggrCopies () | |
void | getAnalysisUsage (AnalysisUsage &AU) const override |
bool | runOnFunction (Function &F) override |
const char * | getPassName () const override |
Static Public Attributes | |
static char | ID = 0 |
static const unsigned | MaxAggrCopySize = 128 |
Definition at line 25 of file NVPTXLowerAggrCopies.h.
llvm::NVPTXLowerAggrCopies::NVPTXLowerAggrCopies | ( | ) | [inline] |
Definition at line 28 of file NVPTXLowerAggrCopies.h.
void llvm::NVPTXLowerAggrCopies::getAnalysisUsage | ( | AnalysisUsage & | ) | const [inline, override, virtual] |
getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.
Reimplemented from llvm::Pass.
Definition at line 30 of file NVPTXLowerAggrCopies.h.
References llvm::AnalysisUsage::addPreserved(), and llvm::AnalysisUsage::addRequired().
const char* llvm::NVPTXLowerAggrCopies::getPassName | ( | ) | const [inline, override, virtual] |
getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Reimplemented from llvm::Pass.
Definition at line 40 of file NVPTXLowerAggrCopies.h.
bool NVPTXLowerAggrCopies::runOnFunction | ( | Function & | F | ) | [override, virtual] |
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.
Implements llvm::FunctionPass.
Definition at line 102 of file NVPTXLowerAggrCopies.cpp.
References llvm::Function::begin(), convertMemSetToLoop(), convertTransferToLoop(), llvm::dyn_cast(), llvm::Function::end(), llvm::Instruction::eraseFromParent(), F(), llvm::ConstantInt::get(), llvm::Module::getContext(), llvm::MemIntrinsic::getDest(), llvm::Type::getInt32Ty(), llvm::MemIntrinsic::getLength(), llvm::User::getOperand(), llvm::GlobalValue::getParent(), llvm::MemTransferInst::getSource(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSize(), llvm::MemSetInst::getValue(), llvm::ARM_PROC::IE, llvm::LoadInst::isVolatile(), llvm::StoreInst::isVolatile(), MaxAggrCopySize, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::Value::user_back(), and llvm::Value::user_begin().
char NVPTXLowerAggrCopies::ID = 0 [static] |
Definition at line 26 of file NVPTXLowerAggrCopies.h.
const unsigned llvm::NVPTXLowerAggrCopies::MaxAggrCopySize = 128 [static] |
Definition at line 38 of file NVPTXLowerAggrCopies.h.
Referenced by runOnFunction().