LLVM 20.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
NVPTX.h File Reference
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/CodeGen.h"
#include "NVPTXGenRegisterInfo.inc"
#include "NVPTXGenInstrInfo.inc"

Go to the source code of this file.

Classes

struct  llvm::NVVMIntrRangePass
 
struct  llvm::NVVMReflectPass
 
struct  llvm::GenericToNVVMPass
 

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
 

Typedefs

using llvm::NVPTX::OrderingUnderlyingType = unsigned int
 

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::SequentiallyConsistent , llvm::NVPTX::Volatile = SequentiallyConsistent + 1 , llvm::NVPTX::RelaxedMMIO = Volatile + 1 , llvm::NVPTX::LAST = RelaxedMMIO
}
 
enum  llvm::NVPTX::PTXLdStInstCode::AddressSpace {
  llvm::NVPTX::PTXLdStInstCode::GENERIC = 0 , llvm::NVPTX::PTXLdStInstCode::GLOBAL = 1 , llvm::NVPTX::PTXLdStInstCode::CONSTANT = 2 , llvm::NVPTX::PTXLdStInstCode::SHARED = 3 ,
  llvm::NVPTX::PTXLdStInstCode::PARAM = 4 , llvm::NVPTX::PTXLdStInstCode::LOCAL = 5
}
 
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::PTXLdStInstCode::VecType { llvm::NVPTX::PTXLdStInstCode::Scalar = 1 , llvm::NVPTX::PTXLdStInstCode::V2 = 2 , llvm::NVPTX::PTXLdStInstCode::V4 = 4 }
 
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::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::LO , llvm::NVPTX::PTXCmpMode::LS ,
  llvm::NVPTX::PTXCmpMode::HI , llvm::NVPTX::PTXCmpMode::HS , 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 , llvm::NVPTX::PTXCmpMode::BASE_MASK = 0xFF , llvm::NVPTX::PTXCmpMode::FTZ_FLAG = 0x100
}
 
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
}
 

Functions

FunctionPassllvm::createNVPTXISelDag (NVPTXTargetMachine &TM, llvm::CodeGenOptLevel OptLevel)
 createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG, ready for instruction scheduling.
 
ModulePassllvm::createNVPTXAssignValidGlobalNamesPass ()
 
ModulePassllvm::createGenericToNVVMLegacyPass ()
 
ModulePass * llvm::createNVPTXCtorDtorLoweringLegacyPass ()
 
FunctionPassllvm::createNVVMIntrRangePass ()
 
FunctionPassllvm::createNVVMReflectPass (unsigned int SmVersion)
 
MachineFunctionPassllvm::createNVPTXPrologEpilogPass ()
 
MachineFunctionPassllvm::createNVPTXReplaceImageHandlesPass ()
 
FunctionPassllvm::createNVPTXImageOptimizerPass ()
 
FunctionPassllvm::createNVPTXLowerArgsPass ()
 
FunctionPassllvm::createNVPTXLowerAllocaPass ()
 
FunctionPassllvm::createNVPTXLowerUnreachablePass (bool TrapUnreachable, bool NoTrapAfterNoreturn)
 
MachineFunctionPassllvm::createNVPTXPeephole ()
 
MachineFunctionPassllvm::createNVPTXProxyRegErasurePass ()
 
void llvm::initializeNVPTXDAGToDAGISelLegacyPass (PassRegistry &)
 

Macro Definition Documentation

◆ GET_INSTRINFO_ENUM

#define GET_INSTRINFO_ENUM

Definition at line 220 of file NVPTX.h.

◆ GET_INSTRINFO_MC_HELPER_DECLS

#define GET_INSTRINFO_MC_HELPER_DECLS

Definition at line 221 of file NVPTX.h.

◆ GET_REGINFO_ENUM

#define GET_REGINFO_ENUM

Definition at line 216 of file NVPTX.h.