MLIR  19.0.0git
Public Member Functions | List of all members
mlir::OpPrintingFlags Class Reference

Set of flags used to control the behavior of the various IR print methods (e.g. More...

#include "mlir/IR/OperationSupport.h"

Public Member Functions

 OpPrintingFlags ()
 Initialize the printing flags with default supplied by the cl::opts above. More...
 
 OpPrintingFlags (std::nullopt_t)
 
OpPrintingFlagselideLargeElementsAttrs (int64_t largeElementLimit=16)
 Enables the elision of large elements attributes by printing a lexically valid but otherwise meaningless form instead of the element data. More...
 
OpPrintingFlagsprintLargeElementsAttrWithHex (int64_t largeElementLimit=100)
 Enables the printing of large element attributes with a hex string. More...
 
OpPrintingFlagselideLargeResourceString (int64_t largeResourceLimit=64)
 Enables the elision of large resources strings by omitting them from the dialect_resources section. More...
 
OpPrintingFlagsenableDebugInfo (bool enable=true, bool prettyForm=false)
 Enable or disable printing of debug information (based on enable). More...
 
OpPrintingFlagsprintGenericOpForm (bool enable=true)
 Always print operations in the generic form. More...
 
OpPrintingFlagsskipRegions (bool skip=true)
 Skip printing regions. More...
 
OpPrintingFlagsassumeVerified ()
 Do not verify the operation when using custom operation printers. More...
 
OpPrintingFlagsuseLocalScope ()
 Use local scope when printing the operation. More...
 
OpPrintingFlagsprintValueUsers ()
 Print users of values as comments. More...
 
bool shouldElideElementsAttr (ElementsAttr attr) const
 Return if the given ElementsAttr should be elided. More...
 
bool shouldPrintElementsAttrWithHex (ElementsAttr attr) const
 Return if the given ElementsAttr should be printed as hex string. More...
 
std::optional< int64_t > getLargeElementsAttrLimit () const
 Return the size limit for printing large ElementsAttr. More...
 
int64_t getLargeElementsAttrHexLimit () const
 Return the size limit for printing large ElementsAttr as hex string. More...
 
std::optional< uint64_t > getLargeResourceStringLimit () const
 Return the size limit in chars for printing large resources. More...
 
bool shouldPrintDebugInfo () const
 Return if debug information should be printed. More...
 
bool shouldPrintDebugInfoPrettyForm () const
 Return if debug information should be printed in the pretty form. More...
 
bool shouldPrintGenericOpForm () const
 Return if operations should be printed in the generic form. More...
 
bool shouldSkipRegions () const
 Return if regions should be skipped. More...
 
bool shouldAssumeVerified () const
 Return if operation verification should be skipped. More...
 
bool shouldUseLocalScope () const
 Return if the printer should use local scope when dumping the IR. More...
 
bool shouldPrintValueUsers () const
 Return if the printer should print users of values. More...
 
bool shouldPrintUniqueSSAIDs () const
 Return if printer should use unique SSA IDs. More...
 

Detailed Description

Set of flags used to control the behavior of the various IR print methods (e.g.

Operation::Print).

Definition at line 1137 of file OperationSupport.h.

Constructor & Destructor Documentation

◆ OpPrintingFlags() [1/2]

OpPrintingFlags::OpPrintingFlags ( )

Initialize the printing flags with default supplied by the cl::opts above.

Definition at line 210 of file AsmPrinter.cpp.

References clOptions.

◆ OpPrintingFlags() [2/2]

mlir::OpPrintingFlags::OpPrintingFlags ( std::nullopt_t  )
inline

Definition at line 1140 of file OperationSupport.h.

Member Function Documentation

◆ assumeVerified()

OpPrintingFlags & OpPrintingFlags::assumeVerified ( )

Do not verify the operation when using custom operation printers.

Definition at line 279 of file AsmPrinter.cpp.

◆ elideLargeElementsAttrs()

OpPrintingFlags & OpPrintingFlags::elideLargeElementsAttrs ( int64_t  largeElementLimit = 16)

Enables the elision of large elements attributes by printing a lexically valid but otherwise meaningless form instead of the element data.

Enable the elision of large elements attributes, by printing a '...' instead of the element data, when the number of elements is greater than largeElementLimit.

The largeElementLimit is used to configure what is considered to be a "large" ElementsAttr by providing an upper limit to the number of elements.

Note: The IR generated with this option is not parsable.

Definition at line 240 of file AsmPrinter.cpp.

Referenced by adjustPrintingFlags().

◆ elideLargeResourceString()

OpPrintingFlags & OpPrintingFlags::elideLargeResourceString ( int64_t  largeResourceLimit = 64)

Enables the elision of large resources strings by omitting them from the dialect_resources section.

The largeResourceLimit is used to configure what is considered to be a "large" resource by providing an upper limit to the string size.

Definition at line 252 of file AsmPrinter.cpp.

◆ enableDebugInfo()

OpPrintingFlags & OpPrintingFlags::enableDebugInfo ( bool  enable = true,
bool  prettyForm = false 
)

Enable or disable printing of debug information (based on enable).

Enable printing of debug information.

If 'prettyForm' is set to true, debug information is printed in a more readable 'pretty' form. Note: The IR generated with 'prettyForm' is not parsable.

If 'prettyForm' is set to true, debug information is printed in a more readable 'pretty' form.

Definition at line 259 of file AsmPrinter.cpp.

◆ getLargeElementsAttrHexLimit()

int64_t OpPrintingFlags::getLargeElementsAttrHexLimit ( ) const

Return the size limit for printing large ElementsAttr as hex string.

Definition at line 319 of file AsmPrinter.cpp.

◆ getLargeElementsAttrLimit()

std::optional< int64_t > OpPrintingFlags::getLargeElementsAttrLimit ( ) const

Return the size limit for printing large ElementsAttr.

Definition at line 314 of file AsmPrinter.cpp.

◆ getLargeResourceStringLimit()

std::optional< uint64_t > OpPrintingFlags::getLargeResourceStringLimit ( ) const

Return the size limit in chars for printing large resources.

Return the size limit for printing large ElementsAttr.

Definition at line 324 of file AsmPrinter.cpp.

◆ printGenericOpForm()

OpPrintingFlags & OpPrintingFlags::printGenericOpForm ( bool  enable = true)

Always print operations in the generic form.

Definition at line 267 of file AsmPrinter.cpp.

Referenced by adjustPrintingFlags().

◆ printLargeElementsAttrWithHex()

OpPrintingFlags & OpPrintingFlags::printLargeElementsAttrWithHex ( int64_t  largeElementLimit = 100)

Enables the printing of large element attributes with a hex string.

The largeElementLimit is used to configure what is considered to be a "large" ElementsAttr by providing an upper limit to the number of elements. Use -1 to disable the hex printing.

Definition at line 246 of file AsmPrinter.cpp.

◆ printValueUsers()

OpPrintingFlags & OpPrintingFlags::printValueUsers ( )

Print users of values as comments.

Definition at line 293 of file AsmPrinter.cpp.

◆ shouldAssumeVerified()

bool OpPrintingFlags::shouldAssumeVerified ( ) const

Return if operation verification should be skipped.

Definition at line 347 of file AsmPrinter.cpp.

◆ shouldElideElementsAttr()

bool OpPrintingFlags::shouldElideElementsAttr ( ElementsAttr  attr) const

Return if the given ElementsAttr should be elided.

Definition at line 299 of file AsmPrinter.cpp.

◆ shouldPrintDebugInfo()

bool OpPrintingFlags::shouldPrintDebugInfo ( ) const

Return if debug information should be printed.

Definition at line 329 of file AsmPrinter.cpp.

Referenced by mlir::AsmPrinter::Impl::printTrailingLocation().

◆ shouldPrintDebugInfoPrettyForm()

bool OpPrintingFlags::shouldPrintDebugInfoPrettyForm ( ) const

Return if debug information should be printed in the pretty form.

Definition at line 334 of file AsmPrinter.cpp.

Referenced by mlir::AsmPrinter::Impl::printLocation().

◆ shouldPrintElementsAttrWithHex()

bool OpPrintingFlags::shouldPrintElementsAttrWithHex ( ElementsAttr  attr) const

Return if the given ElementsAttr should be printed as hex string.

Definition at line 306 of file AsmPrinter.cpp.

◆ shouldPrintGenericOpForm()

bool OpPrintingFlags::shouldPrintGenericOpForm ( ) const

Return if operations should be printed in the generic form.

Definition at line 339 of file AsmPrinter.cpp.

Referenced by shouldPrintUniqueSSAIDs().

◆ shouldPrintUniqueSSAIDs()

bool OpPrintingFlags::shouldPrintUniqueSSAIDs ( ) const

Return if printer should use unique SSA IDs.

Return if the printer should use unique IDs.

Definition at line 360 of file AsmPrinter.cpp.

References shouldPrintGenericOpForm().

◆ shouldPrintValueUsers()

bool OpPrintingFlags::shouldPrintValueUsers ( ) const

Return if the printer should print users of values.

Definition at line 355 of file AsmPrinter.cpp.

◆ shouldSkipRegions()

bool OpPrintingFlags::shouldSkipRegions ( ) const

Return if regions should be skipped.

Return if Region should be skipped.

Definition at line 344 of file AsmPrinter.cpp.

Referenced by printBlock().

◆ shouldUseLocalScope()

bool OpPrintingFlags::shouldUseLocalScope ( ) const

Return if the printer should use local scope when dumping the IR.

Definition at line 352 of file AsmPrinter.cpp.

◆ skipRegions()

OpPrintingFlags & OpPrintingFlags::skipRegions ( bool  skip = true)

Skip printing regions.

Always skip Regions.

Definition at line 273 of file AsmPrinter.cpp.

Referenced by printBlock().

◆ useLocalScope()

OpPrintingFlags & OpPrintingFlags::useLocalScope ( )

Use local scope when printing the operation.

This allows for using the printer in a more localized and thread-safe setting, but may not necessarily be identical to what the IR will look like when dumping the full module.

This allows for using the printer in a more localized and thread-safe setting, but may not necessarily be identical of what the IR will look like when dumping the full module.

Definition at line 287 of file AsmPrinter.cpp.

Referenced by adjustPrintingFlags().


The documentation for this class was generated from the following files: