MLIR
20.0.0git
|
#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.
Macros | |
#define | GET_OP_LIST |
#define | GET_OP_CLASSES |
Functions | |
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) |
#define GET_OP_LIST |
|
static |
Returns true if the given operation is used by a "binding" pdl operation.
Definition at line 40 of file PDL.cpp.
References mlir::Operation::getUsers().
Referenced by verifyHasBindingUse().
|
static |
Definition at line 148 of file PDL.cpp.
References mlir::Builder::getArrayAttr(), mlir::AsmParser::getBuilder(), mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseEqual(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalLBrace(), and mlir::AsmParser::parseRBrace().
|
static |
Definition at line 409 of file PDL.cpp.
References mlir::get(), mlir::pdl::getRangeElementTypeOrSelf(), and mlir::AsmParser::parseColonType().
|
static |
Definition at line 453 of file PDL.cpp.
References mlir::get(), mlir::AsmParser::getBuilder(), mlir::Builder::getType(), mlir::AsmParser::parseArrow(), and mlir::AsmParser::parseType().
|
static |
|
static |
|
static |
|
static |
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.
References mlir::Operation::emitOpError(), mlir::Operation::getParentOp(), and hasBindingUse().
|
static |
Verifies that the result types of this operation, defined within a pdl.rewrite
, can be inferred.
Definition at line 185 of file PDL.cpp.
References mlir::detail::enumerate(), mlir::Operation::getBlock(), mlir::Operation::isBeforeInBlock(), and mlir::RegisteredOperationName::lookup().
Visits all the pdl.operand(s), pdl.result(s), and pdl.operation(s) connected to the given operation.
Definition at line 63 of file PDL.cpp.
References mlir::Operation::getParentOp(), and mlir::Operation::getUsers().
Referenced by GpuAsyncRegionPass::ThreadTokenCallback::operator()(), verifyCopyprivateVarList(), and HasAffineDimExprVisitor::visitAffineBinaryOpExpr().