MLIR 22.0.0git
AllocationOpInterface.h
Go to the documentation of this file.
1//===- AllocationOpInterface.h - Allocation op interface ------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file implements the operation interface for allocation ops.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_DIALECT_BUFFERIZATION_IR_ALLOCATIONOPINTERFACE_H_
14#define MLIR_DIALECT_BUFFERIZATION_IR_ALLOCATIONOPINTERFACE_H_
15
16#include "mlir/IR/Builders.h"
17
18namespace mlir {
19// Enum class representing different hoisting kinds for the allocation
20// operation
21enum class HoistingKind : uint8_t {
22 None = 0, // No hoisting kind selected
23 Loop = 1 << 0, // Indicates loop hoisting kind
24 Block = 1 << 1, // Indicates dominated block hoisting kind
25 LLVM_MARK_AS_BITMASK_ENUM(/* LargestValue = */ Block)
26};
27} // namespace mlir
28
29#include "mlir/Dialect/Bufferization/IR/AllocationOpInterface.h.inc"
30
31#endif // MLIR_DIALECT_BUFFERIZATION_IR_ALLOCATIONOPINTERFACE_H_
Block represents an ordered list of Operations.
Definition Block.h:33
Include the generated interface declarations.