MLIR: lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp File Reference (original) (raw)
Go to the source code of this file.
Namespaces |
---|
Macros | |
---|---|
#define | DEBUG_TYPE "gpu-to-llvm" |
#define | GEN_PASS_DEF_GPUTOLLVMCONVERSIONPASS |
#define | DECLARE_CONVERT_OP_TO_GPU_RUNTIME_CALL_PATTERN(op_name) |
Generic rewriting rule for operation on sparse matrices. More... | |
Functions | |
---|---|
static int32_t | getCuSparseIndexTypeFrom (Type type) |
static int32_t | getCuSparseLtDataTypeFrom (Type type) |
static int32_t | getCuSparseDataTypeFrom (Type type) |
static gpu::Prune2To4SpMatFlag | get2To4PruneFlag (Value spMat) |
static bool | is2To4Sparsity (Value spMat) |
static bool | isSpMMCusparseLtOp (Value op) |
static LogicalResult | areAllLLVMTypes (Operation *op, ValueRange operands, ConversionPatternRewriter &rewriter) |
static LogicalResult | isAsyncWithOneDependency (ConversionPatternRewriter &rewriter, gpu::AsyncOpInterface op) |
static bool | isGpuAsyncTokenType (Value value) |
static bool | isDefinedByCallTo (Value value, StringRef functionName) |
static Value | bitAndAddrspaceCast (Location loc, ConversionPatternRewriter &rewriter, LLVM::LLVMPointerType destinationType, Value sourcePtr, const LLVMTypeConverter &typeConverter) |
template | |
static Value | genConstInt32From (OpBuilder &builder, Location loc, T tValue) |
template | |
static Value | genConstFloat32From (OpBuilder &builder, Location loc, T tValue) |
template | |
static void | addOpaquePointerConversion (LLVMTypeConverter &converter) |
◆ DEBUG_TYPE
#define DEBUG_TYPE "gpu-to-llvm"
◆ DECLARE_CONVERT_OP_TO_GPU_RUNTIME_CALL_PATTERN
| #define DECLARE_CONVERT_OP_TO_GPU_RUNTIME_CALL_PATTERN | ( | | op_name | ) | | ------------------------------------------------------------- | - | | -------- | - |
Value:
class Convert##op_name##ToGpuRuntimeCallPattern \
: public ConvertOpToGpuRuntimeCallPatterngpu::op\_name { \
public: \
Convert##op_name##ToGpuRuntimeCallPattern( \
: ConvertOpToGpuRuntimeCallPatterngpu::op\_name(typeConverter) {} \
\
private: \
LogicalResult \
matchAndRewrite(gpu::op_name op, OpAdaptor adaptor, \
};
This class implements a pattern rewriter for use with ConversionPatterns.
Conversion from types to the LLVM IR dialect.
Generic rewriting rule for operation on sparse matrices.
Currently supports CUDA (by means of cuSparse and cuSparseLt).
Definition at line 492 of file GPUToLLVMConversion.cpp.
◆ GEN_PASS_DEF_GPUTOLLVMCONVERSIONPASS
#define GEN_PASS_DEF_GPUTOLLVMCONVERSIONPASS
◆ addOpaquePointerConversion()
◆ areAllLLVMTypes()
◆ bitAndAddrspaceCast()
◆ genConstFloat32From()
◆ genConstInt32From()
◆ get2To4PruneFlag()
static gpu::Prune2To4SpMatFlag get2To4PruneFlag ( Value spMat) | static |
---|
◆ getCuSparseDataTypeFrom()
static int32_t getCuSparseDataTypeFrom ( Type type) | static |
---|
◆ getCuSparseIndexTypeFrom()
static int32_t getCuSparseIndexTypeFrom ( Type type) | static |
---|
◆ getCuSparseLtDataTypeFrom()
static int32_t getCuSparseLtDataTypeFrom ( Type type) | static |
---|
◆ is2To4Sparsity()
static bool is2To4Sparsity ( Value spMat) | static |
---|
◆ isAsyncWithOneDependency()
◆ isDefinedByCallTo()
static bool isDefinedByCallTo ( Value value, StringRef functionName ) | static |
---|
◆ isGpuAsyncTokenType()
static bool isGpuAsyncTokenType ( Value value) | static |
---|
◆ isSpMMCusparseLtOp()
static bool isSpMMCusparseLtOp ( Value op) | static |
---|