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