MLIR  19.0.0git
Namespaces | Enumerations | Functions
mlir::bytecode Namespace Reference

Namespaces

 detail
 
 OpEncodingMask
 This enum represents a mask of all of the potential components of an operation.
 
 Section
 

Enumerations

enum  BytecodeVersion {
  kMinSupportedVersion = 0 , kDialectVersioning = 1 , kLazyLoading = 2 , kUseListOrdering = 3 ,
  kElideUnknownBlockArgLocation = 4 , kNativePropertiesEncoding = 5 , kNativePropertiesODSSegmentSize = 6 , kVersion = 6 ,
  kAlignmentByte = 0xCB
}
 

Functions

template<typename OperandT >
static uint64_t getUseID (OperandT &val, unsigned ownerID)
 Get the unique ID of a value use. More...
 

Enumeration Type Documentation

◆ BytecodeVersion

Enumerator
kMinSupportedVersion 

The minimum supported version of the bytecode.

kDialectVersioning 

Dialects versioning was added in version 1.

kLazyLoading 

Support for lazy-loading of isolated region was added in version 2.

kUseListOrdering 

Use-list ordering started to be encoded in version 3.

kElideUnknownBlockArgLocation 

Avoid recording unknown locations on block arguments (compression) started in version 4.

kNativePropertiesEncoding 

Support for encoding properties natively in bytecode instead of merged with the discardable attributes.

kNativePropertiesODSSegmentSize 

ODS emits operand/result segment_size as native properties instead of an attribute.

kVersion 

The current bytecode version.

kAlignmentByte 

An arbitrary value used to fill alignment padding.

Definition at line 27 of file Encoding.h.

Function Documentation

◆ getUseID()

template<typename OperandT >
static uint64_t mlir::bytecode::getUseID ( OperandT &  val,
unsigned  ownerID 
)
inlinestatic

Get the unique ID of a value use.

We encode the unique ID combining an owner number and the argument number such as if ownerID(op1) < ownerID(op2), then useID(op1) < useID(op2). If uses have the same owner, then argNumber(op1) < argNumber(op2) implies useID(op1) < useID(op2).

Definition at line 127 of file Encoding.h.