|
MLIR 22.0.0git
|
#include "mlir/IR/AffineExpr.h"#include "mlir/IR/AffineMap.h"#include "mlir/IR/AsmState.h"#include "mlir/IR/Attributes.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinAttributes.h"#include "mlir/IR/BuiltinDialect.h"#include "mlir/IR/BuiltinTypeInterfaces.h"#include "mlir/IR/BuiltinTypes.h"#include "mlir/IR/Dialect.h"#include "mlir/IR/DialectImplementation.h"#include "mlir/IR/DialectResourceBlobManager.h"#include "mlir/IR/IntegerSet.h"#include "mlir/IR/MLIRContext.h"#include "mlir/IR/OpImplementation.h"#include "mlir/IR/Operation.h"#include "mlir/IR/Verifier.h"#include "llvm/ADT/APFloat.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/ScopeExit.h"#include "llvm/ADT/ScopedHashTable.h"#include "llvm/ADT/SetVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringSet.h"#include "llvm/ADT/TypeSwitch.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/DebugLog.h"#include "llvm/Support/Endian.h"#include "llvm/Support/ManagedStatic.h"#include "llvm/Support/Regex.h"#include "llvm/Support/SaveAndRestore.h"#include "llvm/Support/Threading.h"#include "llvm/Support/raw_ostream.h"#include <type_traits>#include <optional>#include <tuple>#include "mlir/IR/OpAsmAttrInterface.cpp.inc"#include "mlir/IR/OpAsmOpInterface.cpp.inc"#include "mlir/IR/OpAsmTypeInterface.cpp.inc"Go to the source code of this file.
Classes | |
| class | mlir::AsmPrinter::Impl |
| class | mlir::detail::AsmStateImpl |
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
| namespace | mlir::detail |
| AttrTypeReplacer. | |
Macros | |
| #define | DEBUG_TYPE "mlir-asm-printer" |
Functions | |
| static StringRef | sanitizeIdentifier (StringRef name, SmallString< 16 > &buffer, StringRef allowedPunctChars="$._-") |
| Sanitize the given name such that it can be used as a valid identifier. | |
| template<typename Range> | |
| static void | mlir::detail::printDimensionList (raw_ostream &stream, Range &&shape) |
| static OpPrintingFlags | verifyOpAndAdjustFlags (Operation *op, OpPrintingFlags printerFlags) |
| Verifies the operation and switches to generic op printing if verification fails. | |
| static void | printFloatValue (const APFloat &apValue, raw_ostream &os, bool *printedHex=nullptr) |
| Print a floating point value in a way that the parser will be able to round-trip losslessly. | |
| static bool | isDialectSymbolSimpleEnoughForPrettyForm (StringRef symName) |
| Returns true if the given dialect symbol data is simple enough to print in the pretty form. | |
| static void | printDialectSymbol (raw_ostream &os, StringRef symPrefix, StringRef dialectName, StringRef symString) |
| Print the given dialect symbol to the stream. | |
| static bool | isBareIdentifier (StringRef name) |
| Returns true if the given string can be represented as a bare identifier. | |
| static void | printKeywordOrString (StringRef keyword, raw_ostream &os) |
| Print the given string as a keyword, or a quoted and escaped string if it has any special or non-printable characters in it. | |
| static void | printSymbolReference (StringRef symbolRef, raw_ostream &os) |
| Print the given string as a symbol reference. | |
| static void | printElidedElementsAttr (raw_ostream &os) |
| static void | printDenseIntElement (const APInt &value, raw_ostream &os, Type type) |
| Print the integer element of a DenseElementsAttr. | |
| static void | printDenseElementsAttrImpl (bool isSplat, ShapedType type, raw_ostream &os, function_ref< void(unsigned)> printEltFn) |
| static Operation * | findParent (Operation *op, bool shouldUseLocalScope) |
| void | mlir::printDimensionList (OpAsmPrinter &printer, Operation *op, ArrayRef< int64_t > dimensions) |
| ParseResult | mlir::parseDimensionList (OpAsmParser &parser, DenseI64ArrayAttr &dimensions) |
Variables | |
| static llvm::ManagedStatic< AsmPrinterOptions > | clOptions |
| #define DEBUG_TYPE "mlir-asm-printer" |
Definition at line 58 of file AsmPrinter.cpp.
Definition at line 4121 of file AsmPrinter.cpp.
References mlir::Operation::getParentOp(), and mlir::Operation::hasTrait().
|
static |
Returns true if the given string can be represented as a bare identifier.
Definition at line 2341 of file AsmPrinter.cpp.
Referenced by printKeywordOrString().
|
static |
Returns true if the given dialect symbol data is simple enough to print in the pretty form.
This is essentially when the symbol takes the form: identifier (< body >)?
Definition at line 2308 of file AsmPrinter.cpp.
Referenced by printDialectSymbol().
|
static |
Definition at line 2580 of file AsmPrinter.cpp.
Referenced by mlir::AsmPrinter::Impl::printDenseIntOrFPElementsAttr(), and mlir::AsmPrinter::Impl::printDenseStringElementsAttr().
|
static |
Print the integer element of a DenseElementsAttr.
Definition at line 2571 of file AsmPrinter.cpp.
References mlir::Type::isInteger(), and mlir::Type::isUnsignedInteger().
Referenced by mlir::AsmPrinter::Impl::printDenseArrayAttr().
|
static |
Print the given dialect symbol to the stream.
Definition at line 2326 of file AsmPrinter.cpp.
References isDialectSymbolSimpleEnoughForPrettyForm().
Referenced by mlir::AsmPrinter::Impl::printAttributeImpl(), mlir::AsmPrinter::Impl::printDialectAttribute(), mlir::AsmPrinter::Impl::printDialectType(), and mlir::AsmPrinter::Impl::printTypeImpl().
|
static |
Definition at line 2385 of file AsmPrinter.cpp.
Referenced by mlir::AsmPrinter::Impl::printAttributeImpl().
|
static |
Print a floating point value in a way that the parser will be able to round-trip losslessly.
Definition at line 2244 of file AsmPrinter.cpp.
Referenced by mlir::AsmPrinter::Impl::printAttributeImpl(), mlir::AsmPrinter::Impl::printDenseArrayAttr(), and mlir::AsmPrinter::printFloat().
|
static |
Print the given string as a keyword, or a quoted and escaped string if it has any special or non-printable characters in it.
Definition at line 2355 of file AsmPrinter.cpp.
References isBareIdentifier().
|
static |
Print the given string as a symbol reference.
A symbol reference is represented as a string prefixed with '@'. The reference is surrounded with ""'s and escaped if it has any special or non-printable characters in it.
Definition at line 2371 of file AsmPrinter.cpp.
References mlir::AsmPrinter::printKeywordOrString().
Referenced by mlir::AsmPrinter::Impl::printAttributeImpl(), and mlir::AsmPrinter::printSymbolName().
|
static |
Sanitize the given name such that it can be used as a valid identifier.
If the string needs to be modified in any way, the provided buffer is used to store the new copy,
Definition at line 1067 of file AsmPrinter.cpp.
|
static |
Verifies the operation and switches to generic op printing if verification fails.
We need to do this because custom print functions may fail for invalid ops.
Definition at line 2080 of file AsmPrinter.cpp.
References diag(), mlir::Operation::getContext(), mlir::OpPrintingFlags::shouldAssumeVerified(), and mlir::OpPrintingFlags::shouldPrintGenericOpForm().
Referenced by mlir::AsmState::AsmState().
|
static |
Definition at line 207 of file AsmPrinter.cpp.