LLVM: lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp File Reference (original) (raw)
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_TYPE "nvptx-isel" |
| #define | PASS_NAME "NVPTX DAG->DAG Pattern Instruction Selection" |
| #define | TCGEN05_LD_OPCODE(SHAPE, NUM) |
| #define | CP_ASYNC_BULK_TENSOR_OPCODE(dir, dim, mode, is_s32, suffix) |
| #define | GET_CP_ASYNC_BULK_TENSOR_OPCODE_S2G_RED(dim, mode, is_ch, is_s32) |
| #define | TCGEN05_ST_OPCODE(SHAPE, NUM) |
| Variables | |
|---|---|
| static cl::opt< bool > | EnableRsqrtOpt ("nvptx-rsqrt-approx-opt", cl::init(true), cl::Hidden, cl::desc("Enable reciprocal sqrt optimization")) |
| static cl::opt< bool > | EnableMADWide ("nvptx-mad-wide-opt", cl::init(false), cl::Hidden, cl::desc("Enable MAD wide optimization")) |
◆ CP_ASYNC_BULK_TENSOR_OPCODE
| #define CP_ASYNC_BULK_TENSOR_OPCODE | ( | dir, |
|---|---|---|
| dim, | ||
| mode, | ||
| is_s32, | ||
| suffix ) |
Value:
(is_s32 \
? NVPTX::CP_ASYNC_BULK_TENSOR_##dir##_##dim##_SHARED32_##mode##suffix \
: NVPTX::CP_ASYNC_BULK_TENSOR_##dir##_##dim##_##mode##suffix)
amode Optimize addressing mode
Definition at line 1902 of file NVPTXISelDAGToDAG.cpp.
◆ DEBUG_TYPE
#define DEBUG_TYPE "nvptx-isel"
◆ GET_CP_ASYNC_BULK_TENSOR_OPCODE_S2G_RED
| #define GET_CP_ASYNC_BULK_TENSOR_OPCODE_S2G_RED | ( | dim, |
|---|---|---|
| mode, | ||
| is_ch, | ||
| is_s32 ) |
Value:
(is_ch ? (CP_ASYNC_BULK_TENSOR_OPCODE(RED, dim, mode, is_s32, _CH)) \
: (CP_ASYNC_BULK_TENSOR_OPCODE(RED, dim, mode, is_s32, )))
#define CP_ASYNC_BULK_TENSOR_OPCODE(dir, dim, mode, is_s32, suffix)
Definition at line 1907 of file NVPTXISelDAGToDAG.cpp.
Referenced by GetCpAsyncBulkTensorS2GReductionOpcode().
◆ PASS_NAME
◆ TCGEN05_LD_OPCODE
| #define TCGEN05_LD_OPCODE | ( | SHAPE, |
|---|---|---|
| NUM ) |
◆ TCGEN05_ST_OPCODE
| #define TCGEN05_ST_OPCODE | ( | SHAPE, |
|---|---|---|
| NUM ) |
◆ accumulateOffset()
◆ canLowerToLDG()
◆ convertAS()
Definition at line 496 of file NVPTXISelDAGToDAG.cpp.
References llvm::NVPTXAS::ADDRESS_SPACE_CONST, llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, llvm::NVPTXAS::ADDRESS_SPACE_LOCAL, llvm::NVPTXAS::ADDRESS_SPACE_PARAM, llvm::NVPTXAS::ADDRESS_SPACE_SHARED, llvm::NVPTXAS::ADDRESS_SPACE_SHARED_CLUSTER, llvm::NVPTX::Const, llvm::NVPTX::Generic, llvm::NVPTX::Global, llvm::NVPTX::Local, llvm::NVPTX::Param, llvm::NVPTX::Shared, and llvm::NVPTX::SharedCluster.
Referenced by llvm::NVPTXDAGToDAGISel::getAddrSpace().
◆ GetCpAsyncBulkTensorS2GReductionOpcode()
| unsigned GetCpAsyncBulkTensorS2GReductionOpcode ( size_t Dim, bool IsShared32, bool IsCacheHint, bool IsIm2Col ) | static |
|---|
◆ getFenceOp()
Definition at line 796 of file NVPTXISelDAGToDAG.cpp.
References llvm::NVPTX::Acquire, llvm::NVPTX::AcquireRelease, llvm::NVPTX::Block, llvm::NVPTX::Cluster, llvm::NVPTX::DefaultDevice, llvm::NVPTX::Device, llvm::formatv(), llvm_unreachable, llvm::NVPTX::NotAtomic, llvm::NVPTX::Relaxed, llvm::NVPTX::RelaxedMMIO, llvm::NVPTX::Release, llvm::report_fatal_error(), llvm::NVPTX::SequentiallyConsistent, llvm::NVPTX::System, T, llvm::NVPTX::Thread, and llvm::NVPTX::Volatile.
◆ getStoreVectorNumElts()
◆ getTcgen05LdOpcode()
◆ getTcgen05StOpcode()
◆ isAddLike()
◆ pickOpcodeForVT()
◆ selectADDR()
◆ selectBaseADDR()
◆ stripAssertAlign()
◆ EnableMADWide
| cl::opt< bool > EnableMADWide("nvptx-mad-wide-opt", cl::init(false), cl::Hidden, cl::desc("Enable MAD wide optimization")) ( "nvptx-mad-wide-opt" , cl::init(false) , cl::Hidden , cl::desc("Enable MAD wide optimization") ) | static |
|---|
◆ EnableRsqrtOpt
| cl::opt< bool > EnableRsqrtOpt("nvptx-rsqrt-approx-opt", cl::init(true), cl::Hidden, cl::desc("Enable reciprocal sqrt optimization")) ( "nvptx-rsqrt-approx-opt" , cl::init(true) , cl::Hidden , cl::desc("Enable reciprocal sqrt optimization") ) | static |
|---|