MLIR 22.0.0git
mlir::AsmResourceBuilder Class Referenceabstract

This class is used to build resource entries for use by the printer. More...

#include "mlir/IR/AsmState.h"

Public Member Functions

virtual ~AsmResourceBuilder ()
virtual void buildBool (StringRef key, bool data)=0
 Build a resource entry represented by the given bool.
virtual void buildString (StringRef key, StringRef data)=0
 Build a resource entry represented by the given human-readable string value.
virtual void buildBlob (StringRef key, ArrayRef< char > data, uint32_t dataAlignment)=0
 Build an resource entry represented by the given binary blob data.
template<typename T>
std::enable_if_t<!std::is_same< T, char >::value > buildBlob (StringRef key, ArrayRef< T > data)
 Build an resource entry represented by the given binary blob data.
void buildBlob (StringRef key, const AsmResourceBlob &blob)
 Build an resource entry represented by the given resource blob.

Detailed Description

This class is used to build resource entries for use by the printer.

Each resource entry is represented using a key/value pair. The provided key must be unique within the current context, which allows for a client to provide resource entries without worrying about overlap with other clients.

Definition at line 247 of file AsmState.h.

Constructor & Destructor Documentation

◆ ~AsmResourceBuilder()

AsmResourceBuilder::~AsmResourceBuilder ( )
virtualdefault

Member Function Documentation

◆ buildBlob() [1/3]

virtual void mlir::AsmResourceBuilder::buildBlob ( StringRef key,
ArrayRef< char > data,
uint32_t dataAlignment )
pure virtual

Build an resource entry represented by the given binary blob data.

Referenced by buildBlob(), buildBlob(), and mlir::ResourceBlobManagerDialectInterfaceBase< DialectResourceBlobHandle< DialectT > >::buildResources().

◆ buildBlob() [2/3]

template<typename T>
std::enable_if_t<!std::is_same< T, char >::value > mlir::AsmResourceBuilder::buildBlob ( StringRef key,
ArrayRef< T > data )
inline

Build an resource entry represented by the given binary blob data.

This is a useful overload if the data type is known. Note that this does not support char element types to avoid accidentally not providing the expected alignment of data in situations that treat blobs generically.

Definition at line 266 of file AsmState.h.

References buildBlob().

◆ buildBlob() [3/3]

void mlir::AsmResourceBuilder::buildBlob ( StringRef key,
const AsmResourceBlob & blob )
inline

Build an resource entry represented by the given resource blob.

This is a useful overload if a blob already exists in-memory.

Definition at line 274 of file AsmState.h.

References buildBlob(), mlir::AsmResourceBlob::getData(), and mlir::AsmResourceBlob::getDataAlignment().

◆ buildBool()

virtual void mlir::AsmResourceBuilder::buildBool ( StringRef key,
bool data )
pure virtual

Build a resource entry represented by the given bool.

Referenced by appendReproducer().

◆ buildString()

virtual void mlir::AsmResourceBuilder::buildString ( StringRef key,
StringRef data )
pure virtual

Build a resource entry represented by the given human-readable string value.

Referenced by appendReproducer().


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