13#ifndef CIRCT_SUPPORT_CUSTOMDIRECTIVEIMPL_H
14#define CIRCT_SUPPORT_CUSTOMDIRECTIVEIMPL_H
17#include "mlir/IR/Builders.h"
18#include "mlir/IR/BuiltinAttributes.h"
19#include "mlir/IR/OpImplementation.h"
20#include "mlir/IR/OperationSupport.h"
21#include "mlir/IR/TypeRange.h"
22#include "mlir/IR/Types.h"
58 ArrayRef<StringRef> extraElides = {});
66 SmallVectorImpl<StringRef> &elides);
84 StringRef trueKeyword, StringRef falseKeyword);
91 StringRef trueKeyword, StringRef falseKeyword);
102 SmallVectorImpl<OpAsmParser::UnresolvedOperand> &operands, Type &resultType,
103 mlir::DenseBoolArrayAttr &inverted, NamedAttrList &attrDict);
109 OperandRange operands, Type resultType,
110 mlir::DenseBoolArrayAttr inverted,
111 DictionaryAttr attrDict);
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
ParseResult parseVariadicInvertibleOperands(OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, Type &resultType, mlir::DenseBoolArrayAttr &inverted, NamedAttrList &attrDict)
Parse a variadic list of operands that may be prefixed with an optional not keyword.
ParseResult parseKeywordBool(OpAsmParser &parser, BoolAttr &attr, StringRef trueKeyword, StringRef falseKeyword)
Parse a boolean as one of two keywords.
void printOptionalBinaryOpTypes(OpAsmPrinter &p, Operation *op, Type lhs, Type rhs)
Print/parse binary operands type only when types are different.
void elideImplicitSSAName(OpAsmPrinter &printer, Operation *op, DictionaryAttr attrs, SmallVectorImpl< StringRef > &elides)
Check if the name attribute in attrs matches the SSA name of the operation's first result.
void printVariadicInvertibleOperands(OpAsmPrinter &printer, Operation *op, OperandRange operands, Type resultType, mlir::DenseBoolArrayAttr inverted, DictionaryAttr attrDict)
Print a variadic list of operands that may be prefixed with an optional not keyword.
ParseResult parseImplicitSSAName(OpAsmParser &parser, StringAttr &attr)
Parse an implicit SSA name string attribute.
void printKeywordBool(OpAsmPrinter &printer, Operation *op, BoolAttr attr, StringRef trueKeyword, StringRef falseKeyword)
Print a boolean as one of two keywords.
bool inferImplicitSSAName(OpAsmParser &parser, NamedAttrList &attrs)
Ensure that attrs contains a name attribute by inferring its value from the SSA name of the operation...
void printImplicitSSAName(OpAsmPrinter &p, Operation *op, StringAttr attr)
Print an implicit SSA name string attribute.
ParseResult parseOptionalBinaryOpTypes(OpAsmParser &parser, Type &lhs, Type &rhs)