LLVM: lib/Target/NVPTX/NVPTX.h File Reference (original) (raw)

#include "[llvm/CodeGen/ISDOpcodes.h](ISDOpcodes%5F8h%5Fsource.html)"
#include "[llvm/IR/PassManager.h](IR%5F2PassManager%5F8h%5Fsource.html)"
#include "[llvm/Pass.h](Pass%5F8h%5Fsource.html)"
#include "[llvm/Support/AtomicOrdering.h](AtomicOrdering%5F8h%5Fsource.html)"
#include "[llvm/Support/CodeGen.h](CodeGen%5F8h%5Fsource.html)"
#include "[llvm/Target/TargetMachine.h](llvm%5F2Target%5F2TargetMachine%5F8h%5Fsource.html)"
#include "NVPTXGenRegisterInfo.inc"
#include "NVPTXGenInstrInfo.inc"

Go to the source code of this file.

Classes
struct llvm::NVVMIntrRangePass
struct llvm::NVVMReflectPass
struct llvm::GenericToNVVMPass
struct llvm::NVPTXCopyByValArgsPass
struct llvm::NVPTXLowerArgsPass
struct llvm::NVPTXTagInvariantLoadsPass
Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::NVPTXCC
namespace llvm::NVPTX
namespace llvm::NVPTX::PTXLdStInstCode
namespace llvm::NVPTX::PTXCvtMode
PTXCvtMode - Conversion code enumeration.
namespace llvm::NVPTX::PTXCmpMode
PTXCmpMode - Comparison mode enumeration.
namespace llvm::NVPTX::PTXPrmtMode
Macros
#define GET_REGINFO_ENUM
#define GET_INSTRINFO_ENUM
#define GET_INSTRINFO_MC_HELPER_DECLS
Enumerations
enum llvm::NVPTXCC::CondCodes { llvm::NVPTXCC::EQ, llvm::NVPTXCC::NE, llvm::NVPTXCC::LT, llvm::NVPTXCC::LE, llvm::NVPTXCC::GT, llvm::NVPTXCC::GE }
enum llvm::NVPTX::DrvInterface { llvm::NVPTX::NVCL, llvm::NVPTX::CUDA }
enum llvm::NVPTX::VecInstType { llvm::NVPTX::VecInstTypeShift = 0 , llvm::NVPTX::VecInstTypeMask = 0xF , llvm::NVPTX::VecNOP = 0 , llvm::NVPTX::VecLoad = 1 , llvm::NVPTX::VecStore = 2 , llvm::NVPTX::VecBuild = 3 , llvm::NVPTX::VecShuffle = 4 , llvm::NVPTX::VecExtract = 5 , llvm::NVPTX::VecInsert = 6 , llvm::NVPTX::VecDest = 7 , llvm::NVPTX::VecOther = 15 }
enum llvm::NVPTX::SimpleMove { llvm::NVPTX::SimpleMoveMask = 0x10 , llvm::NVPTX::SimpleMoveShift = 4 }
enum llvm::NVPTX::LoadStore { llvm::NVPTX::isLoadMask = 0x20 , llvm::NVPTX::isLoadShift = 5 , llvm::NVPTX::isStoreMask = 0x40 , llvm::NVPTX::isStoreShift = 6 }
enum llvm::NVPTX::Ordering : OrderingUnderlyingType { llvm::NVPTX::NotAtomic, llvm::NVPTX::Relaxed = (OrderingUnderlyingType)AtomicOrdering::Monotonic , llvm::NVPTX::Acquire = (OrderingUnderlyingType)AtomicOrdering::Acquire , llvm::NVPTX::Release = (OrderingUnderlyingType)AtomicOrdering::Release , llvm::NVPTX::AcquireRelease = (OrderingUnderlyingType)AtomicOrdering::AcquireRelease , llvm::NVPTX::SequentiallyConsistent, llvm::NVPTX::Volatile = SequentiallyConsistent + 1 , llvm::NVPTX::RelaxedMMIO = Volatile + 1 }
enum llvm::NVPTX::Scope : ScopeUnderlyingType { llvm::NVPTX::Thread = 0 , llvm::NVPTX::Block = 1 , llvm::NVPTX::Cluster = 2 , llvm::NVPTX::Device = 3 , llvm::NVPTX::System = 4 , llvm::NVPTX::DefaultDevice = 5 , llvm::NVPTX::LASTSCOPE = DefaultDevice }
enum llvm::NVPTX::AddressSpace : AddressSpaceUnderlyingType { llvm::NVPTX::Generic = 0 , llvm::NVPTX::Global = 1 , llvm::NVPTX::Shared = 3 , llvm::NVPTX::Const = 4 , llvm::NVPTX::Local = 5 , llvm::NVPTX::SharedCluster = 7 , llvm::NVPTX::Param = 101 }
enum llvm::NVPTX::PTXLdStInstCode::FromType { llvm::NVPTX::PTXLdStInstCode::Unsigned = 0 , llvm::NVPTX::PTXLdStInstCode::Signed, llvm::NVPTX::PTXLdStInstCode::Float, llvm::NVPTX::PTXLdStInstCode::Untyped }
enum llvm::NVPTX::PTXCvtMode::CvtMode { llvm::NVPTX::PTXCvtMode::NONE = 0 , llvm::NVPTX::PTXCvtMode::RNI, llvm::NVPTX::PTXCvtMode::RZI, llvm::NVPTX::PTXCvtMode::RMI, llvm::NVPTX::PTXCvtMode::RPI, llvm::NVPTX::PTXCvtMode::RN, llvm::NVPTX::PTXCvtMode::RZ, llvm::NVPTX::PTXCvtMode::RM, llvm::NVPTX::PTXCvtMode::RP, llvm::NVPTX::PTXCvtMode::RNA, llvm::NVPTX::PTXCvtMode::RS, llvm::NVPTX::PTXCvtMode::BASE_MASK = 0x0F , llvm::NVPTX::PTXCvtMode::FTZ_FLAG = 0x10 , llvm::NVPTX::PTXCvtMode::SAT_FLAG = 0x20 , llvm::NVPTX::PTXCvtMode::RELU_FLAG = 0x40 }
enum llvm::NVPTX::PTXCmpMode::CmpMode { llvm::NVPTX::PTXCmpMode::EQ = 0 , llvm::NVPTX::PTXCmpMode::NE, llvm::NVPTX::PTXCmpMode::LT, llvm::NVPTX::PTXCmpMode::LE, llvm::NVPTX::PTXCmpMode::GT, llvm::NVPTX::PTXCmpMode::GE, llvm::NVPTX::PTXCmpMode::EQU, llvm::NVPTX::PTXCmpMode::NEU, llvm::NVPTX::PTXCmpMode::LTU, llvm::NVPTX::PTXCmpMode::LEU, llvm::NVPTX::PTXCmpMode::GTU, llvm::NVPTX::PTXCmpMode::GEU, llvm::NVPTX::PTXCmpMode::NUM, llvm::NVPTX::PTXCmpMode::NotANumber }
enum llvm::NVPTX::PTXPrmtMode::PrmtMode { llvm::NVPTX::PTXPrmtMode::NONE, llvm::NVPTX::PTXPrmtMode::F4E, llvm::NVPTX::PTXPrmtMode::B4E, llvm::NVPTX::PTXPrmtMode::RC8, llvm::NVPTX::PTXPrmtMode::ECL, llvm::NVPTX::PTXPrmtMode::ECR, llvm::NVPTX::PTXPrmtMode::RC16 }
enum class llvm::NVPTX::DivPrecisionLevel : unsigned { llvm::NVPTX::Approx = 0 , llvm::NVPTX::Full = 1 , llvm::NVPTX::IEEE754 = 2 , llvm::NVPTX::IEEE754_NoFTZ = 3 }
Functions
FunctionPass * llvm::createNVPTXISelDag (NVPTXTargetMachine &TM, llvm::CodeGenOptLevel OptLevel)
createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG, ready for instruction scheduling.
ModulePass * llvm::createNVPTXAssignValidGlobalNamesPass ()
ModulePass * llvm::createGenericToNVVMLegacyPass ()
ModulePass * llvm::createNVPTXCtorDtorLoweringLegacyPass ()
FunctionPass * llvm::createNVVMIntrRangePass ()
ModulePass * llvm::createNVVMReflectPass (unsigned int SmVersion)
MachineFunctionPass * llvm::createNVPTXPrologEpilogPass ()
MachineFunctionPass * llvm::createNVPTXReplaceImageHandlesPass ()
FunctionPass * llvm::createNVPTXImageOptimizerPass ()
FunctionPass * llvm::createNVPTXLowerArgsPass ()
FunctionPass * llvm::createNVPTXLowerAllocaPass ()
FunctionPass * llvm::createNVPTXLowerUnreachablePass (bool TrapUnreachable, bool NoTrapAfterNoreturn)
FunctionPass * llvm::createNVPTXTagInvariantLoadsPass ()
MachineFunctionPass * llvm::createNVPTXPeephole ()
MachineFunctionPass * llvm::createNVPTXProxyRegErasurePass ()
MachineFunctionPass * llvm::createNVPTXForwardParamsPass ()
void llvm::initializeNVVMReflectLegacyPassPass (PassRegistry &)
void llvm::initializeGenericToNVVMLegacyPassPass (PassRegistry &)
void llvm::initializeNVPTXAllocaHoistingPass (PassRegistry &)
void llvm::initializeNVPTXAsmPrinterPass (PassRegistry &)
void llvm::initializeNVPTXAssignValidGlobalNamesPass (PassRegistry &)
void llvm::initializeNVPTXAtomicLowerPass (PassRegistry &)
void llvm::initializeNVPTXCtorDtorLoweringLegacyPass (PassRegistry &)
void llvm::initializeNVPTXLowerAggrCopiesPass (PassRegistry &)
void llvm::initializeNVPTXLowerAllocaPass (PassRegistry &)
void llvm::initializeNVPTXLowerUnreachablePass (PassRegistry &)
void llvm::initializeNVPTXLowerArgsLegacyPassPass (PassRegistry &)
void llvm::initializeNVPTXProxyRegErasurePass (PassRegistry &)
void llvm::initializeNVPTXForwardParamsPassPass (PassRegistry &)
void llvm::initializeNVVMIntrRangePass (PassRegistry &)
void llvm::initializeNVVMReflectPass (PassRegistry &)
void llvm::initializeNVPTXAAWrapperPassPass (PassRegistry &)
void llvm::initializeNVPTXExternalAAWrapperPass (PassRegistry &)
void llvm::initializeNVPTXPeepholePass (PassRegistry &)
void llvm::initializeNVPTXTagInvariantLoadLegacyPassPass (PassRegistry &)
void llvm::initializeNVPTXPrologEpilogPassPass (PassRegistry &)
void llvm::initializeNVPTXDAGToDAGISelLegacyPass (PassRegistry &)

GET_INSTRINFO_ENUM

#define GET_INSTRINFO_ENUM

GET_INSTRINFO_MC_HELPER_DECLS

#define GET_INSTRINFO_MC_HELPER_DECLS

GET_REGINFO_ENUM