MLIR 22.0.0git
PDLToPDLInterp.h
Go to the documentation of this file.
1//===- PDLToPDLInterp.h - PDL to PDL Interpreter conversion -----*- 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 file provides a pass for PDL to PDL Interpreter dialect conversion.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_CONVERSION_PDLTOPDLINTERP_PDLTOPDLINTERP_H
14#define MLIR_CONVERSION_PDLTOPDLINTERP_PDLTOPDLINTERP_H
15
16#include "mlir/Pass/Pass.h"
17#include "mlir/Support/LLVM.h"
18
19namespace mlir {
20class ModuleOp;
21class Operation;
22template <typename OpT>
23class OperationPass;
24class PDLPatternConfigSet;
25
26#define GEN_PASS_DECL_CONVERTPDLTOPDLINTERPPASS
27#include "mlir/Conversion/Passes.h.inc"
28
29/// Creates and returns a pass to convert PDL ops to PDL interpreter ops.
30/// `configMap` holds a map of the configurations for each pattern being
31/// compiled.
32std::unique_ptr<OperationPass<ModuleOp>> createConvertPDLToPDLInterpPass(
34
35} // namespace mlir
36
37#endif // MLIR_CONVERSION_PDLTOPDLINTERP_PDLTOPDLINTERP_H
Pass to transform an operation of a specific type.
Definition Pass.h:356
Operation is the basic unit of execution within MLIR.
Definition Operation.h:88
Include the generated interface declarations.
llvm::DenseMap< KeyT, ValueT, KeyInfoT, BucketT > DenseMap
Definition LLVM.h:126
std::unique_ptr<::mlir::Pass > createConvertPDLToPDLInterpPass()