Skip to main content
Version: 0.0.4

'util' Dialect

Operations​

util.alloc (::lingodb::compiler::dialect::util::AllocOp)​

Syntax:

operation ::= `util.alloc` `(` $size `)` `:` type($ref) attr-dict

Operands:​

OperandDescription
sizeindex

Results:​

ResultDescription
refref type

util.alloca (::lingodb::compiler::dialect::util::AllocaOp)​

Syntax:

operation ::= `util.alloca` `(` $size `)` `:` type($ref) attr-dict

Operands:​

OperandDescription
sizeindex

Results:​

ResultDescription
refref type

util.arrayelementptr (::lingodb::compiler::dialect::util::ArrayElementPtrOp)​

Syntax:

operation ::= `util.arrayelementptr` $ref `[` $idx `]` `:`type($ref) `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
refref type
idxindex

Results:​

ResultDescription
resref type

util.buffer_cast (::lingodb::compiler::dialect::util::BufferCastOp)​

Generic memref cast function

Syntax:

operation ::= `util.buffer_cast` $val `:` type($val) `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
valbuffer

Results:​

ResultDescription
resbuffer

util.buffer_create (::lingodb::compiler::dialect::util::BufferCreateOp)​

Create buffer from ptr and len

Syntax:

operation ::= `util.buffer_create` $ptr `:` type($ptr) `,` $len `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
ptrref type
lenindex

Results:​

ResultDescription
resbuffer

util.buffer_get_memref (::lingodb::compiler::dialect::util::BufferGetMemRefOp)​

Create a memref<?xi8> with dimension info to the buffer

Syntax:

operation ::= `util.buffer_get_memref` $buffer `:` type($buffer) `->` type($memref) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
bufferbuffer

Results:​

ResultDescription
memref1D memref of 8-bit signless integer values

util.buffer_getelementref (::lingodb::compiler::dialect::util::BufferGetElementRef)​

Syntax:

operation ::= `util.buffer_getelementref` $buffer `[` $idx `]` `:` type($buffer) `->` type($ref) attr-dict

Operands:​

OperandDescription
bufferbuffer
idxindex

Results:​

ResultDescription
refref type

util.buffer_getlen (::lingodb::compiler::dialect::util::BufferGetLen)​

Syntax:

operation ::= `util.buffer_getlen` $buffer `:` type($buffer) attr-dict

Operands:​

OperandDescription
bufferbuffer

Results:​

ResultDescription
lenindex

util.buffer_getref (::lingodb::compiler::dialect::util::BufferGetRef)​

Syntax:

operation ::= `util.buffer_getref` $buffer `:` type($buffer) `->` type($ref) attr-dict

Operands:​

OperandDescription
bufferbuffer

Results:​

ResultDescription
refref type

util.dealloc (::lingodb::compiler::dialect::util::DeAllocOp)​

Syntax:

operation ::= `util.dealloc` $ref `:` type($ref) attr-dict

Operands:​

OperandDescription
refref type

util.generic_memref_cast (::lingodb::compiler::dialect::util::GenericMemrefCastOp)​

Generic memref cast function

Syntax:

operation ::= `util.generic_memref_cast` $val `:` type($val) `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
valref type

Results:​

ResultDescription
resref type

util.get_tuple (::lingodb::compiler::dialect::util::GetTupleOp)​

Get tuple

Syntax:

operation ::= `util.get_tuple` $tuple `[` $offset `]` `:` `(`type($tuple)`)` `->` type($val) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:​

AttributeMLIR TypeDescription
offset::mlir::IntegerAttr32-bit signless integer attribute

Operands:​

OperandDescription
tupletuple with any combination of any type values

Results:​

ResultDescription
valany type

util.hash_64 (::lingodb::compiler::dialect::util::Hash64)​

Syntax:

operation ::= `util.hash_64` $val attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
valindex

Results:​

ResultDescription
hashindex

util.hash_combine (::lingodb::compiler::dialect::util::HashCombine)​

Syntax:

operation ::= `util.hash_combine` $h1 `,` $h2 attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
h1index
h2index

Results:​

ResultDescription
hashindex

util.hash_varlen (::lingodb::compiler::dialect::util::HashVarLen)​

Syntax:

operation ::= `util.hash_varlen` $val attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
valtype representing variable-length data up to 2^31 bytes

Results:​

ResultDescription
hashindex

util.invalid_ref (::lingodb::compiler::dialect::util::InvalidRefOp)​

Syntax:

operation ::= `util.invalid_ref` type($ref) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results:​

ResultDescription
refref type

util.is_ref_valid (::lingodb::compiler::dialect::util::IsRefValidOp)​

Syntax:

operation ::= `util.is_ref_valid` $ref `:` type($ref) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
refref type

Results:​

ResultDescription
valid1-bit signless integer

util.load (::lingodb::compiler::dialect::util::LoadOp)​

Syntax:

operation ::= `util.load` $ref `[` $idx `]` `:`type($ref) `->` type($val) attr-dict

Interfaces: MemoryEffectOpInterface

Operands:​

OperandDescription
refref type
idxindex

Results:​

ResultDescription
valany type

util.pack (::lingodb::compiler::dialect::util::PackOp)​

String constant

Syntax:

operation ::= `util.pack` $vals `:` type($vals) attr-dict `->` type($tuple)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
valsvariadic of any type

Results:​

ResultDescription
tupletuple with any combination of any type values

util.ptr_tag_matches (::lingodb::compiler::dialect::util::PtrTagMatches)​

Syntax:

operation ::= `util.ptr_tag_matches` $hash `,` $ref `:` type($ref) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
refref type
hashindex

Results:​

ResultDescription
matches1-bit signless integer

util.sizeof (::lingodb::compiler::dialect::util::SizeOfOp)​

Syntax:

operation ::= `util.sizeof` $type attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:​

AttributeMLIR TypeDescription
type::mlir::TypeAttrany type attribute

Results:​

ResultDescription
resindex

util.store (::lingodb::compiler::dialect::util::StoreOp)​

Syntax:

operation ::= `util.store` $val `:` type($val) `,` $ref `[` $idx `]` `:`type($ref) attr-dict

Operands:​

OperandDescription
valany type
refref type
idxindex

util.to_generic_memref (::lingodb::compiler::dialect::util::ToGenericMemrefOp)​

Syntax:

operation ::= `util.to_generic_memref` $memref `:` type($memref) `->` type($ref) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
memrefmemref of 8-bit signless integer values

Results:​

ResultDescription
refref type

util.to_memref (::lingodb::compiler::dialect::util::ToMemrefOp)​

Syntax:

operation ::= `util.to_memref` $ref `:` type($ref) `->` type($memref) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
refref type

Results:​

ResultDescription
memrefmemref of any type values

util.tupleelementptr (::lingodb::compiler::dialect::util::TupleElementPtrOp)​

Syntax:

operation ::= `util.tupleelementptr` $ref `[` $idx `]` `:`type($ref) `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:​

AttributeMLIR TypeDescription
idx::mlir::IntegerAttr32-bit signless integer attribute

Operands:​

OperandDescription
refref type

Results:​

ResultDescription
resref type

util.undef (::lingodb::compiler::dialect::util::UndefOp)​

Undefined value

Syntax:

operation ::= `util.undef` attr-dict `:` type($res)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Results:​

ResultDescription
resany type

util.unpack (::lingodb::compiler::dialect::util::UnPackOp)​

Unpack tuple

Syntax:

operation ::= `util.unpack` $tuple `:` type($tuple) attr-dict `->` type($vals)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
tupletuple with any combination of any type values

Results:​

ResultDescription
valsvariadic of any type

util.untag_ptr (::lingodb::compiler::dialect::util::UnTagPtr)​

Syntax:

operation ::= `util.untag_ptr` $ref `:` type($ref) `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
refref type

Results:​

ResultDescription
resref type

util.varlen32_cmp (::lingodb::compiler::dialect::util::VarLenCmp)​

Syntax:

operation ::= `util.varlen32_cmp` $left `,` $right attr-dict

Operands:​

OperandDescription
lefttype representing variable-length data up to 2^31 bytes
righttype representing variable-length data up to 2^31 bytes

Results:​

ResultDescription
eq1-bit signless integer
needs_detailed_eval1-bit signless integer

util.varlen32_create (::lingodb::compiler::dialect::util::CreateVarLen)​

Syntax:

operation ::= `util.varlen32_create` $ref `,` $len attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:​

OperandDescription
refref type
len32-bit signless integer

Results:​

ResultDescription
varlentype representing variable-length data up to 2^31 bytes

util.varlen32_create_const (::lingodb::compiler::dialect::util::CreateConstVarLen)​

Syntax:

operation ::= `util.varlen32_create_const` $str attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:​

AttributeMLIR TypeDescription
str::mlir::StringAttrstring attribute

Results:​

ResultDescription
varlentype representing variable-length data up to 2^31 bytes

util.varlen32_getlen (::lingodb::compiler::dialect::util::VarLenGetLen)​

Syntax:

operation ::= `util.varlen32_getlen` $varlen attr-dict

Operands:​

OperandDescription
varlentype representing variable-length data up to 2^31 bytes

Results:​

ResultDescription
lenindex

util.varlen32_try_cheap_hash (::lingodb::compiler::dialect::util::VarLenTryCheapHash)​

Syntax:

operation ::= `util.varlen32_try_cheap_hash` $varlen attr-dict

Operands:​

OperandDescription
varlentype representing variable-length data up to 2^31 bytes

Results:​

ResultDescription
complete1-bit signless integer
hashindex

Types​

BufferType​

buffer

Syntax:

!util.buffer<
mlir::Type # t
>

Parameters:​

ParameterC++ typeDescription
tmlir::Type

RefType​

ref type

Parameters:​

ParameterC++ typeDescription
elementTypemlir::Type

VarLen32Type​

type representing variable-length data up to 2^31 bytes

Syntax: !util.varlen32