|
MLIR 23.0.0git
|
#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/IR/MemRef.h"#include "mlir/Dialect/MemRef/Utils/MemRefUtils.h"#include "mlir/Dialect/Utils/IndexingUtils.h"#include "mlir/Dialect/Vector/IR/VectorOps.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinTypes.h"#include "mlir/IR/Diagnostics.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/SmallVector.h"#include <algorithm>#include <cstdint>#include <limits>#include <optional>#include "mlir/Dialect/AMDGPU/IR/AMDGPU.cpp.inc"Go to the source code of this file.
Macros | |
| #define | GET_OP_CLASSES |
Functions | |
| template<typename OpTy> | |
| static LogicalResult | verifyIndexCount (OpTy op, StringRef indexName, MemRefType memrefType, int64_t numIndices) |
| Verifies that the number of indices matches the rank of the indexed memref, emitting an op error mentioning indexName on mismatch. | |
| 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. | |
| 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) |
| static LogicalResult | eraseRedundantLDSBarrierOps (LDSBarrierOp op, PatternRewriter &rewriter) |
| Remove amdgpu.lds_barrier after amdgpu.lds_barrier. | |
| template<typename BaseOp> | |
| static LogicalResult | verifyBase (BaseOp op) |
| template<typename DescriptorOp> | |
| static LogicalResult | verifyDescriptorOp (DescriptorOp op) |
| template<typename DescriptorOp, typename FoldAdaptor> | |
| static OpFoldResult | foldDescriptorOp (DescriptorOp op, FoldAdaptor adaptor) |
| template<typename T> | |
| static LogicalResult | verifyDsBarrierOpCommon (T &op) |
| #define GET_OP_CLASSES |
Definition at line 1533 of file AMDGPUOps.cpp.
|
static |
Remove amdgpu.lds_barrier after amdgpu.lds_barrier.
Definition at line 892 of file AMDGPUOps.cpp.
References mlir::RewriterBase::eraseOp(), and success().
|
static |
Definition at line 1258 of file AMDGPUOps.cpp.
References mlir::dispatchIndexOpFoldResults(), and mlir::foldDynamicIndexList().
|
static |
Definition at line 224 of file AMDGPUOps.cpp.
References mlir::Value::getType(), mlir::Type::isInteger(), mlir::m_ConstantInt(), and mlir::matchPattern().
Referenced by staticallyOutOfBounds().
|
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 86 of file AMDGPUOps.cpp.
References mlir::computeSuffixProduct(), mlir::AffineMap::getMultiDimIdentityMap(), mlir::MemRefType::Builder::setLayout(), and mlir::MemRefType::Builder::setMemorySpace().
Definition at line 173 of file AMDGPUOps.cpp.
Definition at line 153 of file AMDGPUOps.cpp.
Referenced by verifyBase(), and verifyRawBufferOp().
Definition at line 163 of file AMDGPUOps.cpp.
Referenced by verifyBase(), verifyDescriptorOp(), and verifyDsBarrierOpCommon().
|
static |
Definition at line 234 of file AMDGPUOps.cpp.
References getConstantUint32(), and result.
|
static |
Definition at line 1154 of file AMDGPUOps.cpp.
References mlir::Type::getIntOrFloatBitWidth(), hasGlobalMemorySpace(), hasWorkgroupMemorySpace(), success(), and verifyIndexCount().
|
static |
Definition at line 1209 of file AMDGPUOps.cpp.
References hasWorkgroupMemorySpace(), success(), and verifyIndexCount().
|
static |
Definition at line 1461 of file AMDGPUOps.cpp.
References hasWorkgroupMemorySpace(), success(), and verifyIndexCount().
|
static |
Verifies that the number of indices matches the rank of the indexed memref, emitting an op error mentioning indexName on mismatch.
Definition at line 44 of file AMDGPUOps.cpp.
References success().
Referenced by verifyBase(), verifyDescriptorOp(), verifyDsBarrierOpCommon(), and verifyRawBufferOp().
|
static |
Definition at line 187 of file AMDGPUOps.cpp.
References hasGlobalMemorySpace(), and verifyIndexCount().