|
MLIR 22.0.0git
|
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. | |
| int64_t | getNumOpsToMaterialize () const |
| Return the number of ops that haven't been materialized yet. | |
| 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. | |
| LogicalResult | materializeAll () |
| Materialize all operations. | |
| 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. | |
This class is used to read a bytecode buffer and translate it into MLIR.
Definition at line 1544 of file BytecodeReader.cpp.
|
inline |
Definition at line 1552 of file BytecodeReader.cpp.
References mlir::get().
|
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 1601 of file BytecodeReader.cpp.
References mlir::Operation::dropAllReferences(), mlir::Operation::erase(), materialize(), and success().
|
inline |
Return the number of ops that haven't been materialized yet.
Definition at line 1570 of file BytecodeReader.cpp.
Definition at line 1572 of file BytecodeReader.cpp.
|
inline |
Materialize the provided operation, invoke the lazyOpsCallback on every newly found lazy operation.
Definition at line 1577 of file BytecodeReader.cpp.
References materialize().
Referenced by finalize(), materialize(), and materializeAll().
|
inline |
Materialize all operations.
Definition at line 1589 of file BytecodeReader.cpp.
References materialize(), and success().
| LogicalResult BytecodeReader::Impl::read | ( | Block * | block, |
| llvm::function_ref< bool(Operation *)> | lazyOps ) |
Read the bytecode defined within buffer into the given block.
Definition at line 1888 of file BytecodeReader.cpp.
References diag(), getContext(), isSectionOptional(), mlir::bytecode::Section::kAttrType, mlir::bytecode::Section::kAttrTypeOffset, mlir::bytecode::Section::kDialect, mlir::bytecode::Section::kIR, mlir::bytecode::Section::kNumSections, mlir::bytecode::Section::kProperties, mlir::bytecode::Section::kResource, mlir::bytecode::Section::kResourceOffset, mlir::bytecode::Section::kString, and mlir::toString().
Referenced by readBytecodeFileImpl().