MLIR  19.0.0git
Classes | Public Member Functions | List of all members
mlir::BytecodeReader::Impl Class Reference

This class is used to read a bytecode buffer and translate it into MLIR. More...

Public Member Functions

 Impl (Location fileLoc, const ParserConfig &config, bool lazyLoading, llvm::MemoryBufferRef buffer, const std::shared_ptr< llvm::SourceMgr > &bufferOwnerRef)
 
LogicalResult read (Block *block, llvm::function_ref< bool(Operation *)> lazyOps)
 Read the bytecode defined within buffer into the given block. More...
 
int64_t getNumOpsToMaterialize () const
 Return the number of ops that haven't been materialized yet. More...
 
bool isMaterializable (Operation *op)
 
LogicalResult materialize (Operation *op, llvm::function_ref< bool(Operation *)> lazyOpsCallback)
 Materialize the provided operation, invoke the lazyOpsCallback on every newly found lazy operation. More...
 
LogicalResult materializeAll ()
 Materialize all operations. More...
 
LogicalResult finalize (function_ref< bool(Operation *)> shouldMaterialize)
 Finalize the lazy-loading by calling back with every op that hasn't been materialized to let the client decide if the op should be deleted or materialized. More...
 

Detailed Description

This class is used to read a bytecode buffer and translate it into MLIR.

Definition at line 1311 of file BytecodeReader.cpp.

Constructor & Destructor Documentation

◆ Impl()

mlir::BytecodeReader::Impl::Impl ( Location  fileLoc,
const ParserConfig config,
bool  lazyLoading,
llvm::MemoryBufferRef  buffer,
const std::shared_ptr< llvm::SourceMgr > &  bufferOwnerRef 
)
inline

Definition at line 1319 of file BytecodeReader.cpp.

Member Function Documentation

◆ finalize()

LogicalResult mlir::BytecodeReader::Impl::finalize ( function_ref< bool(Operation *)>  shouldMaterialize)
inline

Finalize the lazy-loading by calling back with every op that hasn't been materialized to let the client decide if the op should be deleted or materialized.

The op is materialized if the callback returns true, deleted otherwise.

Definition at line 1368 of file BytecodeReader.cpp.

◆ getNumOpsToMaterialize()

int64_t mlir::BytecodeReader::Impl::getNumOpsToMaterialize ( ) const
inline

Return the number of ops that haven't been materialized yet.

Definition at line 1337 of file BytecodeReader.cpp.

◆ isMaterializable()

bool mlir::BytecodeReader::Impl::isMaterializable ( Operation op)
inline

Definition at line 1339 of file BytecodeReader.cpp.

◆ materialize()

LogicalResult mlir::BytecodeReader::Impl::materialize ( Operation op,
llvm::function_ref< bool(Operation *)>  lazyOpsCallback 
)
inline

Materialize the provided operation, invoke the lazyOpsCallback on every newly found lazy operation.

Definition at line 1344 of file BytecodeReader.cpp.

Referenced by materializeAll().

◆ materializeAll()

LogicalResult mlir::BytecodeReader::Impl::materializeAll ( )
inline

Materialize all operations.

Definition at line 1356 of file BytecodeReader.cpp.

References mlir::failed(), mlir::failure(), materialize(), and mlir::success().

◆ read()

LogicalResult BytecodeReader::Impl::read ( Block block,
llvm::function_ref< bool(Operation *)>  lazyOps 
)

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