1//===- Passes.h - Pass Entrypoints ------------------------------*- C++ -*-===//
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 header file defines prototypes that expose pass constructors in the Func
10// transformation library.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef MLIR_DIALECT_FUNC_TRANSFORMS_PASSES_H
15#define MLIR_DIALECT_FUNC_TRANSFORMS_PASSES_H
16
17#include "mlir/IR/BuiltinOps.h"
18#include "mlir/Pass/Pass.h"
19
20namespace mlir {
21namespace bufferization {
22class BufferizeTypeConverter;
23} // namespace bufferization
24
25class RewritePatternSet;
26
27namespace func {
28
29#define GEN_PASS_DECL
30#include "mlir/Dialect/Func/Transforms/Passes.h.inc"
31
32/// Creates an instance of func bufferization pass.
33std::unique_ptr<Pass> createFuncBufferizePass();
34
35/// Pass to deduplicate functions.
36std::unique_ptr<Pass> createDuplicateFunctionEliminationPass();
37
38//===----------------------------------------------------------------------===//
39// Registration
40//===----------------------------------------------------------------------===//
41
42/// Generate the code for registering passes.
43#define GEN_PASS_REGISTRATION
44#include "mlir/Dialect/Func/Transforms/Passes.h.inc"
45
46} // namespace func
47} // namespace mlir
48
49#endif // MLIR_DIALECT_FUNC_TRANSFORMS_PASSES_H
50

source code of mlir/include/mlir/Dialect/Func/Transforms/Passes.h