This is a pure-virtual base class that exposes the asmprinter hooks necessary to implement a custom print() method.
More...
|
| ~OpAsmPrinter () override |
|
virtual void | printOptionalLocationSpecifier (Location loc)=0 |
| Print a loc(...) specifier if printing debug info is enabled. More...
|
|
virtual void | printNewline ()=0 |
| Print a newline and indent the printer to the start of the current operation. More...
|
|
virtual void | increaseIndent ()=0 |
| Increase indentation. More...
|
|
virtual void | decreaseIndent ()=0 |
| Decrease indentation. More...
|
|
virtual void | printRegionArgument (BlockArgument arg, ArrayRef< NamedAttribute > argAttrs={}, bool omitType=false)=0 |
| Print a block argument in the usual format of: ssaName : type {attr1=42} loc("here") where location printing is controlled by the standard internal option. More...
|
|
virtual void | printOperand (Value value)=0 |
| Print implementations for various things an operation contains. More...
|
|
virtual void | printOperand (Value value, raw_ostream &os)=0 |
|
template<typename ContainerType > |
void | printOperands (const ContainerType &container) |
| Print a comma separated list of operands. More...
|
|
template<typename IteratorType > |
void | printOperands (IteratorType it, IteratorType end) |
| Print a comma separated list of operands. More...
|
|
virtual void | printSuccessor (Block *successor)=0 |
| Print the given successor. More...
|
|
virtual void | printSuccessorAndUseList (Block *successor, ValueRange succOperands)=0 |
| Print the successor and its operands. More...
|
|
virtual void | printOptionalAttrDict (ArrayRef< NamedAttribute > attrs, ArrayRef< StringRef > elidedAttrs={})=0 |
| If the specified operation has attributes, print out an attribute dictionary with their values. More...
|
|
virtual void | printOptionalAttrDictWithKeyword (ArrayRef< NamedAttribute > attrs, ArrayRef< StringRef > elidedAttrs={})=0 |
| If the specified operation has attributes, print out an attribute dictionary prefixed with 'attributes'. More...
|
|
virtual void | printCustomOrGenericOp (Operation *op)=0 |
| Prints the entire operation with the custom assembly form, if available, or the generic assembly form, otherwise. More...
|
|
virtual void | printGenericOp (Operation *op, bool printOpName=true)=0 |
| Print the entire operation with the default generic assembly form. More...
|
|
virtual void | printRegion (Region &blocks, bool printEntryBlockArgs=true, bool printBlockTerminators=true, bool printEmptyBlock=false)=0 |
| Prints a region. More...
|
|
virtual void | shadowRegionArgs (Region ®ion, ValueRange namesToUse)=0 |
| Renumber the arguments for the specified region to the same names as the SSA values in namesToUse. More...
|
|
virtual void | printAffineMapOfSSAIds (AffineMapAttr mapAttr, ValueRange operands)=0 |
| Prints an affine map of SSA ids, where SSA id names are used in place of dims/symbols. More...
|
|
virtual void | printAffineExprOfSSAIds (AffineExpr expr, ValueRange dimOperands, ValueRange symOperands)=0 |
| Prints an affine expression of SSA ids with SSA id names used instead of dims and symbols. More...
|
|
void | printFunctionalType (Operation *op) |
| Print the complete type of an operation in functional form. More...
|
|
| AsmPrinter (Impl &impl) |
| Initialize the printer with the given internal implementation. More...
|
|
| AsmPrinter ()=default |
| Initialize the printer with no internal implementation. More...
|
|
template<typename InputRangeT , typename ResultRangeT > |
void | printFunctionalType (InputRangeT &&inputs, ResultRangeT &&results) |
| Print the two given type ranges in a functional form. More...
|
|
| AsmPrinter (Impl &impl) |
| Initialize the printer with the given internal implementation. More...
|
|
virtual | ~AsmPrinter () |
|
virtual raw_ostream & | getStream () const |
| Return the raw output stream used by this printer. More...
|
|
virtual void | printFloat (const APFloat &value) |
| Print the given floating point value in a stabilized form that can be roundtripped through the IR. More...
|
|
virtual void | printType (Type type) |
|
virtual void | printAttribute (Attribute attr) |
|
template<typename AttrOrType , std::enable_if_t< detect_has_print_method< AttrOrType >::value > * sfinae = nullptr> |
void | printStrippedAttrOrType (AttrOrType attrOrType) |
| Print the provided attribute in the context of an operation custom printer/parser: this will invoke directly the print method on the attribute class and skip the #dialect.mnemonic prefix in most cases. More...
|
|
template<typename AttrOrType , std::enable_if_t< detect_has_print_method< AttrOrType >::value > * sfinae = nullptr> |
void | printStrippedAttrOrType (ArrayRef< AttrOrType > attrOrTypes) |
| Print the provided array of attributes or types in the context of an operation custom printer/parser: this will invoke directly the print method on the attribute class and skip the #dialect.mnemonic prefix in most cases. More...
|
|
template<typename AttrOrType , std::enable_if_t<!detect_has_print_method< AttrOrType >::value > * sfinae = nullptr> |
void | printStrippedAttrOrType (AttrOrType attrOrType) |
| SFINAE for printing the provided attribute in the context of an operation custom printer in the case where the attribute does not define a print method. More...
|
|
virtual void | printAttributeWithoutType (Attribute attr) |
| Print the given attribute without its type. More...
|
|
virtual LogicalResult | printAlias (Attribute attr) |
| Print the alias for the given attribute, return failure if no alias could be printed. More...
|
|
virtual LogicalResult | printAlias (Type type) |
| Print the alias for the given type, return failure if no alias could be printed. More...
|
|
virtual void | printKeywordOrString (StringRef keyword) |
| Print the given string as a keyword, or a quoted and escaped string if it has any special or non-printable characters in it. More...
|
|
virtual void | printString (StringRef string) |
| Print the given string as a quoted string, escaping any special or non-printable characters in it. More...
|
|
virtual void | printSymbolName (StringRef symbolRef) |
| Print the given string as a symbol reference, i.e. More...
|
|
virtual void | printResourceHandle (const AsmDialectResourceHandle &resource) |
| Print a handle to the given dialect resource. More...
|
|
template<typename TypeRange > |
void | printOptionalArrowTypeList (TypeRange &&types) |
| Print an optional arrow followed by a type list. More...
|
|
template<typename TypeRange > |
void | printArrowTypeList (TypeRange &&types) |
|
template<typename InputRangeT , typename ResultRangeT > |
void | printFunctionalType (InputRangeT &&inputs, ResultRangeT &&results) |
| Print the two given type ranges in a functional form. More...
|
|
void | printDimensionList (ArrayRef< int64_t > shape) |
|
template<class AttrOrTypeT > |
FailureOr< CyclicPrintReset > | tryStartCyclicPrint (AttrOrTypeT attrOrType) |
| Attempts to start a cyclic printing region for attrOrType . More...
|
|
This is a pure-virtual base class that exposes the asmprinter hooks necessary to implement a custom print() method.
Definition at line 412 of file OpImplementation.h.