original) (raw)
MLIR: lib/IR/AsmPrinter.cpp File Reference (#include "[mlir/IR/AffineExpr.h](mlir%5F2IR%5F2AffineExpr%5F8h%5Fsource.html)"
#include "[mlir/IR/AffineMap.h](mlir%5F2IR%5F2AffineMap%5F8h%5Fsource.html)"
#include "[mlir/IR/AsmState.h](AsmState%5F8h%5Fsource.html)"
#include "[mlir/IR/Attributes.h](Attributes%5F8h%5Fsource.html)"
#include "[mlir/IR/Builders.h](Builders%5F8h%5Fsource.html)"
#include "[mlir/IR/BuiltinAttributes.h](mlir%5F2IR%5F2BuiltinAttributes%5F8h%5Fsource.html)"
#include "[mlir/IR/BuiltinDialect.h](BuiltinDialect%5F8h%5Fsource.html)"
#include "[mlir/IR/BuiltinTypeInterfaces.h](BuiltinTypeInterfaces%5F8h%5Fsource.html)"
#include "[mlir/IR/BuiltinTypes.h](mlir%5F2IR%5F2BuiltinTypes%5F8h%5Fsource.html)"
#include "[mlir/IR/Dialect.h](IR%5F2Dialect%5F8h%5Fsource.html)"
#include "[mlir/IR/DialectImplementation.h](DialectImplementation%5F8h%5Fsource.html)"
#include "[mlir/IR/DialectResourceBlobManager.h](DialectResourceBlobManager%5F8h%5Fsource.html)"
#include "[mlir/IR/IntegerSet.h](mlir%5F2IR%5F2IntegerSet%5F8h%5Fsource.html)"
#include "[mlir/IR/MLIRContext.h](MLIRContext%5F8h%5Fsource.html)"
#include "[mlir/IR/OpImplementation.h](OpImplementation%5F8h%5Fsource.html)"
#include "[mlir/IR/Operation.h](IR%5F2Operation%5F8h%5Fsource.html)"
#include "[mlir/IR/Verifier.h](Verifier%5F8h%5Fsource.html)"
#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/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.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.
Namespaces |
---|
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. More... | |
template | |
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. More... | |
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. More... | |
static bool | isDialectSymbolSimpleEnoughForPrettyForm (StringRef symName) |
Returns true if the given dialect symbol data is simple enough to print in the pretty form. More... | |
static void | printDialectSymbol (raw_ostream &os, StringRef symPrefix, StringRef dialectName, StringRef symString) |
Print the given dialect symbol to the stream. More... | |
static bool | isBareIdentifier (StringRef name) |
Returns true if the given string can be represented as a bare identifier. More... | |
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. More... | |
static void | printSymbolReference (StringRef symbolRef, raw_ostream &os) |
Print the given string as a symbol reference. More... | |
static void | printElidedElementsAttr (raw_ostream &os) |
static void | printDenseIntElement (const APInt &value, raw_ostream &os, Type type) |
Print the integer element of a DenseElementsAttr. More... | |
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 |
◆ DEBUG_TYPE
#define DEBUG_TYPE "mlir-asm-printer"
◆ findParent()
◆ isBareIdentifier()
static bool isBareIdentifier ( StringRef name) | static |
---|
Returns true if the given string can be represented as a bare identifier.
Definition at line 2309 of file AsmPrinter.cpp.
◆ isDialectSymbolSimpleEnoughForPrettyForm()
static bool isDialectSymbolSimpleEnoughForPrettyForm ( StringRef symName) | 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 2276 of file AsmPrinter.cpp.
Referenced by printDialectSymbol().
◆ printDenseElementsAttrImpl()
static void printDenseElementsAttrImpl ( bool isSplat, ShapedType type, raw_ostream & os, function_ref< void(unsigned)> printEltFn ) | static |
---|
◆ printDenseIntElement()
static void printDenseIntElement ( const APInt & value, raw_ostream & os, Type type ) | static |
---|
Print the integer element of a DenseElementsAttr.
Definition at line 2540 of file AsmPrinter.cpp.
◆ printDialectSymbol()
static void printDialectSymbol ( raw_ostream & os, StringRef symPrefix, StringRef dialectName, StringRef symString ) | static |
---|
◆ printElidedElementsAttr()
static void printElidedElementsAttr ( raw_ostream & os) | static |
---|
◆ printFloatValue()
static void printFloatValue ( const APFloat & apValue, raw_ostream & os, bool * printedHex = nullptr ) | static |
---|
◆ printKeywordOrString()
static void printKeywordOrString ( StringRef keyword, raw_ostream & os ) | 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 2323 of file AsmPrinter.cpp.
◆ printSymbolReference()
static void printSymbolReference ( StringRef symbolRef, raw_ostream & os ) | 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 2339 of file AsmPrinter.cpp.
Referenced by mlir::AsmPrinter::printSymbolName().
◆ sanitizeIdentifier()
static StringRef sanitizeIdentifier ( StringRef name, SmallString< 16 > & buffer, StringRef allowedPunctChars = "$._-" ) | 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 1036 of file AsmPrinter.cpp.
◆ verifyOpAndAdjustFlags()
◆ clOptions
llvm::ManagedStatic clOptions | static |
---|