LLVM 22.0.0git
llvm::NVPTX Namespace Reference

Namespaces

namespace  PTXCmpMode
 PTXCmpMode - Comparison mode enumeration.
namespace  PTXCvtMode
 PTXCvtMode - Conversion code enumeration.
namespace  PTXLdStInstCode
namespace  PTXPrmtMode

Typedefs

using OrderingUnderlyingType = unsigned int
using ScopeUnderlyingType = unsigned int
using AddressSpaceUnderlyingType = unsigned int

Enumerations

enum  DrvInterface { NVCL , CUDA }
enum  VecInstType {
  VecInstTypeShift = 0 , VecInstTypeMask = 0xF , VecNOP = 0 , VecLoad = 1 ,
  VecStore = 2 , VecBuild = 3 , VecShuffle = 4 , VecExtract = 5 ,
  VecInsert = 6 , VecDest = 7 , VecOther = 15
}
enum  SimpleMove { SimpleMoveMask = 0x10 , SimpleMoveShift = 4 }
enum  LoadStore { isLoadMask = 0x20 , isLoadShift = 5 , isStoreMask = 0x40 , isStoreShift = 6 }
enum  Ordering : OrderingUnderlyingType {
  NotAtomic , Relaxed = (OrderingUnderlyingType)AtomicOrdering::Monotonic , Acquire = (OrderingUnderlyingType)AtomicOrdering::Acquire , Release = (OrderingUnderlyingType)AtomicOrdering::Release ,
  AcquireRelease = (OrderingUnderlyingType)AtomicOrdering::AcquireRelease , SequentiallyConsistent , Volatile = SequentiallyConsistent + 1 , RelaxedMMIO = Volatile + 1
}
enum  Scope : ScopeUnderlyingType {
  Thread = 0 , Block = 1 , Cluster = 2 , Device = 3 ,
  System = 4 , DefaultDevice = 5 , LASTSCOPE = DefaultDevice
}
enum  AddressSpace : AddressSpaceUnderlyingType {
  Generic = 0 , Global = 1 , Shared = 3 , Const = 4 ,
  Local = 5 , SharedCluster = 7 , Param = 101
}
enum class  DivPrecisionLevel : unsigned { Approx = 0 , Full = 1 , IEEE754 = 2 , IEEE754_NoFTZ = 3 }

Functions

auto packed_types ()
bool isPackedVectorTy (EVT VT)
bool isPackedElementTy (EVT ET)
std::string getValidPTXIdentifier (StringRef Name)
std::string OrderingToString (Ordering Order)
raw_ostreamoperator<< (raw_ostream &O, Ordering Order)
std::string ScopeToString (Scope S)
raw_ostreamoperator<< (raw_ostream &O, Scope S)
std::string AddressSpaceToString (AddressSpace A)
raw_ostreamoperator<< (raw_ostream &O, AddressSpace A)

Typedef Documentation

◆ AddressSpaceUnderlyingType

Definition at line 180 of file NVPTX.h.

◆ OrderingUnderlyingType

Definition at line 153 of file NVPTX.h.

◆ ScopeUnderlyingType

Definition at line 169 of file NVPTX.h.

Enumeration Type Documentation

◆ AddressSpace

Enumerator
Generic 
Global 
Shared 
Const 
Local 
SharedCluster 
Param 

Definition at line 181 of file NVPTX.h.

◆ DivPrecisionLevel

Enumerator
Approx 
Full 
IEEE754 
IEEE754_NoFTZ 

Definition at line 251 of file NVPTX.h.

◆ DrvInterface

Enumerator
NVCL 
CUDA 

Definition at line 116 of file NVPTX.h.

◆ LoadStore

Enumerator
isLoadMask 
isLoadShift 
isStoreMask 
isStoreShift 

Definition at line 145 of file NVPTX.h.

◆ Ordering

Enumerator
NotAtomic 
Relaxed 
Acquire 
Release 
AcquireRelease 
SequentiallyConsistent 
Volatile 
RelaxedMMIO 

Definition at line 154 of file NVPTX.h.

◆ Scope

Enumerator
Thread 
Block 
Cluster 
Device 
System 
DefaultDevice 
LASTSCOPE 

Definition at line 170 of file NVPTX.h.

◆ SimpleMove

Enumerator
SimpleMoveMask 
SimpleMoveShift 

Definition at line 141 of file NVPTX.h.

◆ VecInstType

Enumerator
VecInstTypeShift 
VecInstTypeMask 
VecNOP 
VecLoad 
VecStore 
VecBuild 
VecShuffle 
VecExtract 
VecInsert 
VecDest 
VecOther 

Definition at line 126 of file NVPTX.h.

Function Documentation

◆ AddressSpaceToString()

std::string llvm::NVPTX::AddressSpaceToString ( AddressSpace A)
inline

Definition at line 184 of file NVPTXUtilities.h.

References A(), Const, llvm::formatv(), Generic, Global, Local, Param, llvm::report_fatal_error(), Shared, and SharedCluster.

Referenced by operator<<().

◆ getValidPTXIdentifier()

std::string llvm::NVPTX::getValidPTXIdentifier ( StringRef Name)
inline

Definition at line 118 of file NVPTXUtilities.h.

References llvm::CallingConv::C, and llvm::isAlnum().

Referenced by llvm::NVPTXTargetStreamer::emitValue().

◆ isPackedElementTy()

bool llvm::NVPTX::isPackedElementTy ( EVT ET)
inline

◆ isPackedVectorTy()

bool llvm::NVPTX::isPackedVectorTy ( EVT VT)
inline

◆ operator<<() [1/3]

raw_ostream & llvm::NVPTX::operator<< ( raw_ostream & O,
AddressSpace A )
inline

Definition at line 205 of file NVPTXUtilities.h.

References A(), and AddressSpaceToString().

◆ operator<<() [2/3]

raw_ostream & llvm::NVPTX::operator<< ( raw_ostream & O,
Ordering Order )
inline

Definition at line 155 of file NVPTXUtilities.h.

References OrderingToString().

◆ operator<<() [3/3]

raw_ostream & llvm::NVPTX::operator<< ( raw_ostream & O,
Scope S )
inline

Definition at line 179 of file NVPTXUtilities.h.

References ScopeToString().

◆ OrderingToString()

std::string llvm::NVPTX::OrderingToString ( Ordering Order)
inline

◆ packed_types()

auto llvm::NVPTX::packed_types ( )
inline

Definition at line 101 of file NVPTXUtilities.h.

Referenced by isPackedElementTy(), and isPackedVectorTy().

◆ ScopeToString()

std::string llvm::NVPTX::ScopeToString ( Scope S)
inline

Definition at line 160 of file NVPTXUtilities.h.

References Block, Cluster, DefaultDevice, Device, llvm::formatv(), llvm::report_fatal_error(), System, and Thread.

Referenced by operator<<().