llvm/mlir/lib/Dialect/MemRef/Transforms/AllocationOpInterfaceImpl.cpp

//===- AllocationOpInterfaceImpl.cpp - Impl. of AllocationOpInterface -----===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "mlir/Dialect/MemRef/Transforms/AllocationOpInterfaceImpl.h"

#include "mlir/Dialect/Bufferization/IR/AllocationOpInterface.h"
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/Operation.h"

usingnamespacemlir;

namespace {
struct DefaultAllocationInterface
    : public bufferization::AllocationOpInterface::ExternalModel<
          DefaultAllocationInterface, memref::AllocOp> {};

struct DefaultAutomaticAllocationHoistingInterface
    : public bufferization::AllocationOpInterface::ExternalModel<
          DefaultAutomaticAllocationHoistingInterface, memref::AllocaOp> {};

struct DefaultReallocationInterface
    : public bufferization::AllocationOpInterface::ExternalModel<
          DefaultAllocationInterface, memref::ReallocOp> {};
} // namespace

void mlir::memref::registerAllocationOpInterfaceExternalModels(
    DialectRegistry &registry) {}