|
MLIR 22.0.0git
|
#include "mlir/Tools/PDLL/CodeGen/MLIRGen.h"#include "mlir/AsmParser/AsmParser.h"#include "mlir/Dialect/PDL/IR/PDL.h"#include "mlir/Dialect/PDL/IR/PDLOps.h"#include "mlir/Dialect/PDL/IR/PDLTypes.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinOps.h"#include "mlir/IR/Verifier.h"#include "mlir/Tools/PDLL/AST/Context.h"#include "mlir/Tools/PDLL/AST/Nodes.h"#include "mlir/Tools/PDLL/AST/Types.h"#include "mlir/Tools/PDLL/ODS/Context.h"#include "mlir/Tools/PDLL/ODS/Operation.h"#include "llvm/ADT/ScopedHashTable.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/TypeSwitch.h"#include <optional>Go to the source code of this file.
Functions | |
| static void | checkAndNestUnderRewriteOp (OpBuilder &builder, Value rootExpr, Location loc) |
| If the given builder is nested under a PDL PatternOp, build a rewrite operation and update the builder to nest under it. | |
If the given builder is nested under a PDL PatternOp, build a rewrite operation and update the builder to nest under it.
This is necessary for PDLL operation rewrite statements that are directly nested within a Pattern.
Definition at line 204 of file MLIRGen.cpp.
References mlir::OpBuilder::createBlock(), mlir::OpBuilder::getInsertionBlock(), mlir::Block::getParentOp(), rewrite(), and ValueRange.