LLVM  4.0.0
Namespaces | Macros | Functions | Variables
NVVMIntrRange.cpp File Reference
#include "NVPTX.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Instructions.h"
Include dependency graph for NVVMIntrRange.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "nvvm-intr-range"
 

Functions

void llvm::initializeNVVMIntrRangePass (PassRegistry &)
 
 INITIALIZE_PASS (NVVMIntrRange,"nvvm-intr-range","Add !range metadata to NVVM intrinsics.", false, false) static bool addRangeMetadata(uint64_t Low
 
uint64_t CallInst *C if (C->getMetadata(LLVMContext::MD_range)) return false
 
C setMetadata (LLVMContext::MD_range, MDNode::get(Context, LowAndHigh))
 

Variables

static cl::opt< unsignedNVVMIntrRangeSM ("nvvm-intr-range-sm", cl::init(20), cl::Hidden, cl::desc("SM variant"))
 
uint64_t High
 
LLVMContextContext = C->getParent()->getContext()
 
IntegerTypeInt32Ty = Type::getInt32Ty(Context)
 
MetadataLowAndHigh []
 
return true
 

Macro Definition Documentation

#define DEBUG_TYPE   "nvvm-intr-range"

Definition at line 23 of file NVVMIntrRange.cpp.

Function Documentation

uint64_t CallInst* C if ( C->  getMetadataLLVMContext::MD_range)
INITIALIZE_PASS ( NVVMIntrRange  ,
"nvvm-intr-range"  ,
"Add !range metadata to NVVM intrinsics."  ,
false  ,
false   
)
C setMetadata ( LLVMContext::MD_range  ,
MDNode::  getContext, LowAndHigh 
)

Referenced by LLVMSetMetadata().

Variable Documentation

LLVMContext& Context = C->getParent()->getContext()

Definition at line 72 of file NVVMIntrRange.cpp.

Referenced by llvm::HexagonMCInstrInfo::addConstExtender(), llvm::ThinLTOCodeGenerator::addModule(), llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::IntrinsicLowering::AddPrototypes(), llvm::addStringMetadataToLoop(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::LoopVersioning::annotateInstWithNoAlias(), llvm::DwarfCompileUnit::applySubprogramAttributesToDefinition(), assureFPCallStub(), buildSymbolDiff(), llvm::UnreachableInst::cloneImpl(), CloneLoopBlocks(), createFPFnStub(), llvm::LTOModule::createFromFile(), llvm::LTOModule::createFromOpenFileSlice(), createLocalVariable(), llvm::createMIRParser(), createStringMetadata(), llvm::DwarfUnit::createTypeDIE(), llvm::HexagonMCInstrInfo::deriveDuplex(), DisableAllLoopOptsOnLoop(), llvm::Module::dropTriviallyDeadConstantArrays(), llvm::MCDwarfLineAddr::Emit(), EmitAbsDifference(), llvm::MCStreamer::emitAbsoluteSymbolDiff(), llvm::MCStreamer::EmitCFIStartProc(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::MipsTargetELFStreamer::emitFrame(), llvm::emitFWrite(), llvm::MipsELFStreamer::EmitInstruction(), llvm::MCStreamer::EmitIntValue(), llvm::emitMemChr(), llvm::emitMemCmp(), llvm::emitMemCpyChk(), llvm::MipsTargetELFStreamer::emitMipsAbiFlags(), llvm::ARMFrameLowering::emitPrologue(), llvm::AMDGPUTargetELFStreamer::EmitRuntimeMetadata(), llvm::emitStrLen(), llvm::emitStrNCmp(), EmitSymbolRefWithOfs(), llvm::MCStreamer::EmitWinCFIStartProc(), llvm::MCStreamer::endSection(), llvm::yaml::IO::enumFallback(), ErrorFromHResult(), llvm::AVRMCExpr::evaluateAsRelocatableImpl(), llvm::PPCMCExpr::evaluateAsRelocatableImpl(), forceExpAbs(), llvm::lto::LTOLLVMContext::funcDiagHandler(), llvm::TypeBuilder< T *, cross >::get(), llvm::TypeBuilder< T[N], cross >::get(), llvm::TypeBuilder< T[], cross >::get(), llvm::TypeBuilder< R(), cross >::get(), llvm::TypeBuilder< R(A1), cross >::get(), llvm::TypeBuilder< R(A1, A2), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3), cross >::get(), llvm::ConstantFP::get(), llvm::TypeBuilder< R(A1, A2, A3, A4), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4, A5), cross >::get(), llvm::TypeBuilder< R(...), cross >::get(), llvm::TypeBuilder< R(A1,...), cross >::get(), llvm::TypeBuilder< R(A1, A2,...), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3,...), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4,...), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4, A5,...), cross >::get(), llvm::MDString::get(), llvm::MDTuple::get(), llvm::MMIAddrLabelMap::getAddrLabelSymbolToEmit(), llvm::object::Archive::Child::getAsBinary(), getCompoundInsn(), llvm::Type::getContext(), llvm::LLParser::getContext(), llvm::AttributeSetImpl::getContext(), llvm::Module::getContext(), llvm::ReplaceableMetadataImpl::getContext(), llvm::SelectionDAG::getContext(), llvm::MDNode::getContext(), llvm::MCStreamer::getDwarfLineTableSymbol(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), getGlobalOffsetTable(), getLazyIRModule(), llvm::DwarfUnit::getOrCreateTypeDIE(), llvm::LTOModule::getProducerString(), llvm::AttributeSetImpl::getSlotAttributes(), llvm::InstrProfIncrementInst::getStep(), llvm::ConstantDataArray::getString(), getTLSGetOffset(), llvm::Attribute::getWithAlignment(), llvm::Attribute::getWithAllocSizeArgs(), llvm::Attribute::getWithDereferenceableBytes(), llvm::Attribute::getWithDereferenceableOrNullBytes(), llvm::Attribute::getWithStackAlignment(), handleYAMLDiag(), llvm::LTOModule::isBitcodeForTarget(), LLVMGetCurrentDebugLocation(), LLVMGetMDNodeOperands(), LLVMGetNamedMetadataOperands(), LLVMMDNodeInContext(), LLVMMDStringInContext(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::coro::LowererBase::makeSubFnCall(), llvm::MetadataLoader::MetadataLoaderImpl::MetadataLoaderImpl(), llvm::parseAssembly(), llvm::parseAssemblyFile(), llvm::parseIRFile(), llvm::LoopVersioning::prepareNoAliasMetadata(), llvm::MDNode::replaceAllUsesWith(), llvm::ThinLTOCodeGenerator::run(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::yaml::IO::setContext(), SetLoopAlreadyUnrolled(), llvm::LoopPass::skipLoop(), SolveQuadraticEquation(), llvm::UpgradeBitCastExpr(), llvm::UpgradeBitCastInst(), llvm::UpgradeTBAANode(), WriteAsOperandInternal(), WriteConstantInternal(), and writeSymbolTable().

uint64_t High
IntegerType* Int32Ty = Type::getInt32Ty(Context)
Metadata* LowAndHigh[]
Initial value:
= {
ConstantAsMetadata::get(ConstantInt::get(Int32Ty, Low)),
ConstantAsMetadata::get(ConstantInt::get(Int32Ty, High))}
uint64_t High
IntegerType * Int32Ty

Definition at line 74 of file NVVMIntrRange.cpp.

cl::opt<unsigned> NVVMIntrRangeSM("nvvm-intr-range-sm", cl::init(20), cl::Hidden, cl::desc("SM variant"))
static
return true

Definition at line 78 of file NVVMIntrRange.cpp.