• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//===-- Passes.td - ShapeOps pass definition file ----------*- tablegen -*-===//
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#ifndef MLIR_DIALECT_SHAPE_TRANSFORMS_PASSES
10#define MLIR_DIALECT_SHAPE_TRANSFORMS_PASSES
11
12include "mlir/Pass/PassBase.td"
13
14def RemoveShapeConstraints : FunctionPass<"remove-shape-constraints"> {
15  let summary = "Replace all cstr_ ops with a true witness";
16  let constructor = "mlir::createRemoveShapeConstraintsPass()";
17}
18
19def ShapeToShapeLowering : FunctionPass<"shape-to-shape-lowering"> {
20  let summary = "Legalize Shape dialect to be convertible to Standard";
21  let constructor = "mlir::createShapeToShapeLowering()";
22}
23
24// TODO: Generalize this to allow any type conversions desired.
25def ShapeBufferize : FunctionPass<"shape-bufferize"> {
26  let summary = "Bufferize the shape dialect.";
27  let constructor = "mlir::createShapeBufferizePass()";
28}
29#endif // MLIR_DIALECT_SHAPE_TRANSFORMS_PASSES
30