MLIR 22.0.0git
mlir::bytecode Namespace Reference

Namespaces

namespace  detail
namespace  OpEncodingMask
 This enum represents a mask of all of the potential components of an operation.
namespace  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.

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>
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.