'util' Dialect
Operations
util.alloc (::lingodb::compiler::dialect::util::AllocOp)
Syntax:
operation ::= `util.alloc` `(` $size `)` `:` type($ref) attr-dict
Operands:
| Operand | Description |
|---|---|
size | index |
Results:
| Result | Description |
|---|---|
ref | ref type |
util.alloca (::lingodb::compiler::dialect::util::AllocaOp)
Syntax:
operation ::= `util.alloca` `(` $size `)` `:` type($ref) attr-dict
Operands:
| Operand | Description |
|---|---|
size | index |
Results:
| Result | Description |
|---|---|
ref | ref 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:
| Operand | Description |
|---|---|
ref | ref type |
idx | index |
Results:
| Result | Description |
|---|---|
res | ref 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:
| Operand | Description |
|---|---|
val | buffer |
Results:
| Result | Description |
|---|---|
res | buffer |
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:
| Operand | Description |
|---|---|
ptr | ref type |
len | index |
Results:
| Result | Description |
|---|---|
res | buffer |
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:
| Operand | Description |
|---|---|
buffer | buffer |
Results:
| Result | Description |
|---|---|
memref | 1D 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:
| Operand | Description |
|---|---|
buffer | buffer |
idx | index |
Results:
| Result | Description |
|---|---|
ref | ref type |
util.buffer_getlen (::lingodb::compiler::dialect::util::BufferGetLen)
Syntax:
operation ::= `util.buffer_getlen` $buffer `:` type($buffer) attr-dict
Operands:
| Operand | Description |
|---|---|
buffer | buffer |
Results:
| Result | Description |
|---|---|
len | index |
util.buffer_getref (::lingodb::compiler::dialect::util::BufferGetRef)
Syntax:
operation ::= `util.buffer_getref` $buffer `:` type($buffer) `->` type($ref) attr-dict
Operands:
| Operand | Description |
|---|---|
buffer | buffer |
Results:
| Result | Description |
|---|---|
ref | ref type |
util.dealloc (::lingodb::compiler::dialect::util::DeAllocOp)
Syntax:
operation ::= `util.dealloc` $ref `:` type($ref) attr-dict
Operands:
| Operand | Description |
|---|---|
ref | ref 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:
| Operand | Description |
|---|---|
val | ref type |
Results:
| Result | Description |
|---|---|
res | ref 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:
| Attribute | MLIR Type | Description |
|---|---|---|
offset | ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:
| Operand | Description |
|---|---|
tuple | tuple with any combination of any type values |
Results:
| Result | Description |
|---|---|
val | any 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:
| Operand | Description |
|---|---|
val | index |
Results:
| Result | Description |
|---|---|
hash | index |
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:
| Operand | Description |
|---|---|
h1 | index |
h2 | index |
Results:
| Result | Description |
|---|---|
hash | index |
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:
| Operand | Description |
|---|---|
val | type representing variable-length data up to 2^31 bytes |
Results:
| Result | Description |
|---|---|
hash | index |
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:
| Result | Description |
|---|---|
ref | ref 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:
| Operand | Description |
|---|---|
ref | ref type |
Results:
| Result | Description |
|---|---|
valid | 1-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:
| Operand | Description |
|---|---|
ref | ref type |
idx | index |
Results:
| Result | Description |
|---|---|
val | any 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:
| Operand | Description |
|---|---|
vals | variadic of any type |
Results:
| Result | Description |
|---|---|
tuple | tuple 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:
| Operand | Description |
|---|---|
ref | ref type |
hash | index |
Results:
| Result | Description |
|---|---|
matches | 1-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:
| Attribute | MLIR Type | Description |
|---|---|---|
type | ::mlir::TypeAttr | any type attribute |
Results:
| Result | Description |
|---|---|
res | index |
util.store (::lingodb::compiler::dialect::util::StoreOp)
Syntax:
operation ::= `util.store` $val `:` type($val) `,` $ref `[` $idx `]` `:`type($ref) attr-dict
Operands:
| Operand | Description |
|---|---|
val | any type |
ref | ref type |
idx | index |
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:
| Operand | Description |
|---|---|
memref | memref of 8-bit signless integer values |
Results:
| Result | Description |
|---|---|
ref | ref 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:
| Operand | Description |
|---|---|
ref | ref type |
Results:
| Result | Description |
|---|---|
memref | memref 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:
| Attribute | MLIR Type | Description |
|---|---|---|
idx | ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:
| Operand | Description |
|---|---|
ref | ref type |
Results:
| Result | Description |
|---|---|
res | ref 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:
| Result | Description |
|---|---|
res | any 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:
| Operand | Description |
|---|---|
tuple | tuple with any combination of any type values |
Results:
| Result | Description |
|---|---|
vals | variadic 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:
| Operand | Description |
|---|---|
ref | ref type |
Results:
| Result | Description |
|---|---|
res | ref type |
util.varlen32_cmp (::lingodb::compiler::dialect::util::VarLenCmp)
Syntax:
operation ::= `util.varlen32_cmp` $left `,` $right attr-dict
Operands:
| Operand | Description |
|---|---|
left | type representing variable-length data up to 2^31 bytes |
right | type representing variable-length data up to 2^31 bytes |
Results:
| Result | Description |
|---|---|
eq | 1-bit signless integer |
needs_detailed_eval | 1-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:
| Operand | Description |
|---|---|
ref | ref type |
len | 32-bit signless integer |
Results:
| Result | Description |
|---|---|
varlen | type 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:
| Attribute | MLIR Type | Description |
|---|---|---|
str | ::mlir::StringAttr | string attribute |
Results:
| Result | Description |
|---|---|
varlen | type 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:
| Operand | Description |
|---|---|
varlen | type representing variable-length data up to 2^31 bytes |
Results:
| Result | Description |
|---|---|
len | index |
util.varlen32_try_cheap_hash (::lingodb::compiler::dialect::util::VarLenTryCheapHash)
Syntax:
operation ::= `util.varlen32_try_cheap_hash` $varlen attr-dict
Operands:
| Operand | Description |
|---|---|
varlen | type representing variable-length data up to 2^31 bytes |
Results:
| Result | Description |
|---|---|
complete | 1-bit signless integer |
hash | index |
Types
BufferType
buffer
Syntax:
!util.buffer<
mlir::Type # t
>
Parameters:
| Parameter | C++ type | Description |
|---|---|---|
| t | mlir::Type |
RefType
ref type
Parameters:
| Parameter | C++ type | Description |
|---|---|---|
| elementType | mlir::Type |
VarLen32Type
type representing variable-length data up to 2^31 bytes
Syntax: !util.varlen32