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 20 namespace mlir { 21 class RewritePatternSet; 22 23 namespace func { 24 25 #define GEN_PASS_DECL 26 #include "mlir/Dialect/Func/Transforms/Passes.h.inc" 27 28 /// Pass to deduplicate functions. 29 std::unique_ptr<Pass> createDuplicateFunctionEliminationPass(); 30 31 //===----------------------------------------------------------------------===// 32 // Registration 33 //===----------------------------------------------------------------------===// 34 35 /// Generate the code for registering passes. 36 #define GEN_PASS_REGISTRATION 37 #include "mlir/Dialect/Func/Transforms/Passes.h.inc" 38 39 } // namespace func 40 } // namespace mlir 41 42 #endif // MLIR_DIALECT_FUNC_TRANSFORMS_PASSES_H 43