MLIR  20.0.0git
Functions
MLIRGen.cpp File Reference
#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. More...
 

Function Documentation

◆ checkAndNestUnderRewriteOp()

static void checkAndNestUnderRewriteOp ( OpBuilder builder,
Value  rootExpr,
Location  loc 
)
static

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::create(), mlir::OpBuilder::createBlock(), mlir::OpBuilder::getInsertionBlock(), mlir::Block::getParentOp(), and rewrite().