#include "triton/Analysis/Allocation.h"
#include "triton/Analysis/Utility.h"
#include "triton/Conversion/TritonGPUToLLVM/AllocateSharedMemoryUtility.h"
#include "triton/Conversion/TritonGPUToLLVM/Passes.h"
#include "triton/Dialect/Triton/IR/Dialect.h"
#include "triton/Dialect/TritonGPU/IR/Dialect.h"
using namespace mlir;
using namespace mlir::triton;
namespace mlir::triton::gpu {
#define GEN_PASS_DEF_ALLOCATESHAREDMEMORY
#include "triton/Conversion/TritonGPUToLLVM/Passes.h.inc"
}
namespace {
struct AllocateSharedMemory
: public mlir::triton::gpu::impl::AllocateSharedMemoryBase<
AllocateSharedMemory> {
void runOnOperation() override {
ModuleOp mod = getOperation();
ModuleAllocation allocation(mod);
mlir::triton::gpu::attachAllocationSizeAndOffsetAttr(mod, allocation);
}
};
}