#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/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/TypeSwitch.h"
#include <limits>
#include <optional>
usingnamespacemlir;
usingnamespacemlir::amdgpu;
#include "mlir/Dialect/AMDGPU/IR/AMDGPUDialect.cpp.inc"
void AMDGPUDialect::initialize() { … }
LogicalResult PackedTrunc2xFp8Op::verify() { … }
LogicalResult PackedStochRoundFp8Op::verify() { … }
template <typename T>
static LogicalResult verifyRawBufferOp(T &op) { … }
LogicalResult RawBufferLoadOp::verify() { … }
LogicalResult RawBufferStoreOp::verify() { … }
LogicalResult RawBufferAtomicFaddOp::verify() { … }
LogicalResult RawBufferAtomicFmaxOp::verify() { … }
LogicalResult RawBufferAtomicSmaxOp::verify() { … }
LogicalResult RawBufferAtomicUminOp::verify() { … }
LogicalResult RawBufferAtomicCmpswapOp::verify() { … }
static std::optional<uint32_t> getConstantUint32(Value v) { … }
template <typename OpType>
static bool staticallyOutOfBounds(OpType op) { … }
namespace {
template <typename OpType>
struct RemoveStaticallyOobBufferLoads final : public OpRewritePattern<OpType> { … };
template <typename OpType>
struct RemoveStaticallyOobBufferWrites final : public OpRewritePattern<OpType> { … };
}
void RawBufferLoadOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) { … }
void RawBufferStoreOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) { … }
void RawBufferAtomicFaddOp::getCanonicalizationPatterns(
RewritePatternSet &results, MLIRContext *context) { … }
void RawBufferAtomicFmaxOp::getCanonicalizationPatterns(
RewritePatternSet &results, MLIRContext *context) { … }
void RawBufferAtomicSmaxOp::getCanonicalizationPatterns(
RewritePatternSet &results, MLIRContext *context) { … }
void RawBufferAtomicUminOp::getCanonicalizationPatterns(
RewritePatternSet &results, MLIRContext *context) { … }
void RawBufferAtomicCmpswapOp::getCanonicalizationPatterns(
RewritePatternSet &results, MLIRContext *context) { … }
LogicalResult WMMAOp::verify() { … }
LogicalResult MFMAOp::verify() { … }
LogicalResult DPPOp::verify() { … }
#include "mlir/Dialect/AMDGPU/IR/AMDGPUEnums.cpp.inc"
#define GET_ATTRDEF_CLASSES
#include "mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.cpp.inc"
#define GET_OP_CLASSES
#include "mlir/Dialect/AMDGPU/IR/AMDGPU.cpp.inc"