1//===- Transforms.h - EmitC transformations as patterns --------*- 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#ifndef MLIR_DIALECT_EMITC_TRANSFORMS_TRANSFORMS_H
10#define MLIR_DIALECT_EMITC_TRANSFORMS_TRANSFORMS_H
11
12#include "mlir/Dialect/EmitC/IR/EmitC.h"
13#include "mlir/IR/PatternMatch.h"
14
15namespace mlir {
16namespace emitc {
17
18//===----------------------------------------------------------------------===//
19// Expression transforms
20//===----------------------------------------------------------------------===//
21
22ExpressionOp createExpression(Operation *op, OpBuilder &builder);
23
24//===----------------------------------------------------------------------===//
25// Populate functions
26//===----------------------------------------------------------------------===//
27
28/// Populates `patterns` with expression-related patterns.
29void populateExpressionPatterns(RewritePatternSet &patterns);
30
31/// Populates 'patterns' with func-related patterns.
32void populateFuncPatterns(RewritePatternSet &patterns,
33 StringRef namedAttribute);
34
35} // namespace emitc
36} // namespace mlir
37
38#endif // MLIR_DIALECT_EMITC_TRANSFORMS_TRANSFORMS_H
39

source code of mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h