#include "mlir/Dialect/PDL/IR/PDL.h"
#include "mlir/Dialect/PDL/IR/PDLOps.h"
#include "mlir/Dialect/PDL/IR/PDLTypes.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/Interfaces/InferTypeOpInterface.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include <optional>
#include "mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc"
#include "mlir/Dialect/PDL/IR/PDLOps.cpp.inc"
Go to the source code of this file.
|
static bool | hasBindingUse (Operation *op) |
| Returns true if the given operation is used by a "binding" pdl operation. More...
|
|
static LogicalResult | verifyHasBindingUse (Operation *op) |
| Returns success if the given operation is not in the main matcher body or is used by a "binding" operation. More...
|
|
static void | visit (Operation *op, DenseSet< Operation * > &visited) |
| Visits all the pdl.operand(s), pdl.result(s), and pdl.operation(s) connected to the given operation. More...
|
|
static ParseResult | parseOperationOpAttributes (OpAsmParser &p, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &attrOperands, ArrayAttr &attrNamesAttr) |
|
static void | printOperationOpAttributes (OpAsmPrinter &p, OperationOp op, OperandRange attrArgs, ArrayAttr attrNames) |
|
static LogicalResult | verifyResultTypesAreInferrable (OperationOp op, OperandRange resultTypes) |
| Verifies that the result types of this operation, defined within a pdl.rewrite , can be inferred. More...
|
|
static ParseResult | parseRangeType (OpAsmParser &p, TypeRange argumentTypes, Type &resultType) |
|
static void | printRangeType (OpAsmPrinter &p, RangeOp op, TypeRange argumentTypes, Type resultType) |
|
static ParseResult | parseResultsValueType (OpAsmParser &p, IntegerAttr index, Type &resultType) |
|
static void | printResultsValueType (OpAsmPrinter &p, ResultsOp op, IntegerAttr index, Type resultType) |
|
◆ GET_OP_CLASSES
◆ GET_OP_LIST
◆ hasBindingUse()
Returns true if the given operation is used by a "binding" pdl operation.
Definition at line 40 of file PDL.cpp.
◆ parseOperationOpAttributes()
Definition at line 145 of file PDL.cpp.
References mlir::failure(), mlir::Builder::getArrayAttr(), mlir::AsmParser::getBuilder(), mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseEqual(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalLBrace(), mlir::AsmParser::parseRBrace(), mlir::succeeded(), and mlir::success().
◆ parseRangeType()
◆ parseResultsValueType()
◆ printOperationOpAttributes()
◆ printRangeType()
◆ printResultsValueType()
static void printResultsValueType |
( |
OpAsmPrinter & |
p, |
|
|
ResultsOp |
op, |
|
|
IntegerAttr |
index, |
|
|
Type |
resultType |
|
) |
| |
|
static |
◆ verifyHasBindingUse()
Returns success if the given operation is not in the main matcher body or is used by a "binding" operation.
On failure, emits an error.
Definition at line 50 of file PDL.cpp.
◆ verifyResultTypesAreInferrable()
Verifies that the result types of this operation, defined within a pdl.rewrite
, can be inferred.
Definition at line 182 of file PDL.cpp.
◆ visit()