Skip to main content
Version: Next

'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