44 lines
2.2 KiB
C++
44 lines
2.2 KiB
C++
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|
|
|* *|
|
|
|* Dialect Declarations *|
|
|
|* *|
|
|
|* Automatically generated file, do not edit! *|
|
|
|* From: PDLInterpOps.td *|
|
|
|* *|
|
|
\*===----------------------------------------------------------------------===*/
|
|
|
|
namespace mlir::pdl_interp {
|
|
|
|
/// Interpreted pattern execution dialect
|
|
/// The PDL Interpreter dialect provides a lower level abstraction compared to
|
|
/// the PDL dialect, and is targeted towards low level optimization and
|
|
/// interpreter code generation. The dialect operations encapsulates
|
|
/// low-level pattern match and rewrite "primitives", such as navigating the
|
|
/// IR (Operation::getOperand), creating new operations (OpBuilder::create),
|
|
/// etc. Many of the operations within this dialect also fuse branching control
|
|
/// flow with some form of a predicate comparison operation. This type of fusion
|
|
/// reduces the amount of work that an interpreter must do when executing.
|
|
class PDLInterpDialect : public ::mlir::Dialect {
|
|
explicit PDLInterpDialect(::mlir::MLIRContext *context);
|
|
|
|
void initialize();
|
|
friend class ::mlir::MLIRContext;
|
|
public:
|
|
~PDLInterpDialect() override;
|
|
static constexpr ::llvm::StringLiteral getDialectNamespace() {
|
|
return ::llvm::StringLiteral("pdl_interp");
|
|
}
|
|
|
|
/// Returns the name of the function containing the matcher code. This
|
|
/// function is called by the interpreter when matching an operation.
|
|
static StringRef getMatcherFunctionName() { return "matcher"; }
|
|
|
|
/// Returns the name of the module containing the rewrite functions. These
|
|
/// functions are invoked by distinct patterns within the matcher function
|
|
/// to rewrite the IR after a successful match.
|
|
static StringRef getRewriterModuleName() { return "rewriters"; }
|
|
};
|
|
|
|
} // namespace mlir::pdl_interp
|
|
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::pdl_interp::PDLInterpDialect)
|