MLIR  22.0.0git
Macros | Functions
AMDGPUDialect.cpp File Reference
#include "mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
#include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
#include "mlir/Dialect/MemRef/Utils/MemRefUtils.h"
#include "mlir/Dialect/Utils/IndexingUtils.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/TypeUtilities.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/TypeSwitch.h"
#include <limits>
#include <optional>
#include "mlir/Dialect/AMDGPU/IR/AMDGPUDialect.cpp.inc"
#include "mlir/Dialect/AMDGPU/IR/AMDGPU.cpp.inc"
#include "mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.cpp.inc"
#include "mlir/Dialect/AMDGPU/IR/AMDGPUEnums.cpp.inc"

Go to the source code of this file.

Macros

#define GET_OP_LIST
 
#define GET_ATTRDEF_LIST
 
#define GET_ATTRDEF_CLASSES
 
#define GET_OP_CLASSES
 

Functions

static FailureOr< MemRefType > getFatRawBufferTypeLike (MemRefType source, bool resetOffset)
 Convert the type source to one with the same sizes and strides - and offset, unless stripOffset is true, in which case the offset is reset to 0, if the offset should be reset but the layout of source isn't either the identity layout or a strided layout, this function fails. More...
 
static bool hasGlobalMemorySpace (Attribute memorySpace)
 
static bool hasWorkgroupMemorySpace (Attribute memorySpace)
 
static bool hasFatRawBufferMemorySpace (Attribute memorySpace)
 
template<typename T >
static LogicalResult verifyRawBufferOp (T &op)
 
static std::optional< uint32_t > getConstantUint32 (Value v)
 
template<typename OpType >
static bool staticallyOutOfBounds (OpType op)
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 636 of file AMDGPUDialect.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 639 of file AMDGPUDialect.cpp.

◆ GET_OP_LIST

#define GET_OP_LIST

Function Documentation

◆ getConstantUint32()

static std::optional<uint32_t> getConstantUint32 ( Value  v)
static

◆ getFatRawBufferTypeLike()

static FailureOr<MemRefType> getFatRawBufferTypeLike ( MemRefType  source,
bool  resetOffset 
)
static

Convert the type source to one with the same sizes and strides - and offset, unless stripOffset is true, in which case the offset is reset to 0, if the offset should be reset but the layout of source isn't either the identity layout or a strided layout, this function fails.

Definition at line 82 of file AMDGPUDialect.cpp.

References mlir::computeSuffixProduct(), mlir::get(), mlir::AffineMap::getMultiDimIdentityMap(), mlir::MemRefType::Builder::setLayout(), and mlir::MemRefType::Builder::setMemorySpace().

◆ hasFatRawBufferMemorySpace()

static bool hasFatRawBufferMemorySpace ( Attribute  memorySpace)
static

Definition at line 162 of file AMDGPUDialect.cpp.

◆ hasGlobalMemorySpace()

static bool hasGlobalMemorySpace ( Attribute  memorySpace)
static

Definition at line 142 of file AMDGPUDialect.cpp.

Referenced by verifyRawBufferOp().

◆ hasWorkgroupMemorySpace()

static bool hasWorkgroupMemorySpace ( Attribute  memorySpace)
static

Definition at line 152 of file AMDGPUDialect.cpp.

◆ staticallyOutOfBounds()

template<typename OpType >
static bool staticallyOutOfBounds ( OpType  op)
static

Definition at line 226 of file AMDGPUDialect.cpp.

References mlir::remark::failed(), getConstantUint32(), and max().

◆ verifyRawBufferOp()

template<typename T >
static LogicalResult verifyRawBufferOp ( T &  op)
static

Definition at line 176 of file AMDGPUDialect.cpp.

References hasGlobalMemorySpace().