MLIR 23.0.0git
Transforms.h
Go to the documentation of this file.
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
14#include "llvm/ADT/DenseMap.h"
15
16namespace mlir {
17namespace emitc {
18
19//===----------------------------------------------------------------------===//
20// Expression transforms
21//===----------------------------------------------------------------------===//
22
23ExpressionOp createExpression(Operation *op, OpBuilder &builder);
24
25//===----------------------------------------------------------------------===//
26// Populate functions
27//===----------------------------------------------------------------------===//
28
29/// Populates `patterns` with expression-related patterns.
30void populateExpressionPatterns(RewritePatternSet &patterns);
31
32//===----------------------------------------------------------------------===//
33// The WrapFuncInClass pass.
34//===----------------------------------------------------------------------===//
35
37 RewritePatternSet &patterns, StringRef funcName,
38 DenseMap<FuncOp, llvm::DenseSet<GlobalOp>> &globalsToMove);
39
40} // namespace emitc
41} // namespace mlir
42
43#endif // MLIR_DIALECT_EMITC_TRANSFORMS_TRANSFORMS_H
void populateWrapFuncInClass(RewritePatternSet &patterns, StringRef funcName, DenseMap< FuncOp, llvm::DenseSet< GlobalOp > > &globalsToMove)
void populateExpressionPatterns(RewritePatternSet &patterns)
Populates patterns with expression-related patterns.
ExpressionOp createExpression(Operation *op, OpBuilder &builder)
Include the generated interface declarations.
llvm::DenseMap< KeyT, ValueT, KeyInfoT, BucketT > DenseMap
Definition LLVM.h:120