Skip to main content
Version: Next

'tuples' Dialect

A general dialect that adds a tuple strem type

Operations

tuples.get_param_val (::lingodb::compiler::dialect::tuples::GetParamVal)

Get param value operation

Syntax:

operation ::= `tuples.get_param_val` $param `:` type($param) `->` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
paramany type

Results:

ResultDescription
resany type

tuples.getcol (::lingodb::compiler::dialect::tuples::GetColumnOp)

Get column operation

Syntax:

operation ::= `tuples.getcol` $tuple custom<CustRef>($attr) `:` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
attr::lingodb::compiler::dialect::tuples::ColumnRefAttr

Operands:

OperandDescription
tupletuple type

Results:

ResultDescription
resany type

tuples.return (::lingodb::compiler::dialect::tuples::ReturnOp)

Loop yield and termination operation

Syntax:

operation ::= `tuples.return` attr-dict ($results^ `:` type($results))?

Traits: AlwaysSpeculatableImplTrait, ReturnLike, Terminator

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), RegionBranchTerminatorOpInterface

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
resultsvariadic of any type

Attributes

ColumnDefAttr

Parameters:

ParameterC++ typeDescription
namemlir::SymbolRefAttr
columnPtrstd::shared_ptr<Column>
fromExistingmlir::Attribute

ColumnRefAttr

Parameters:

ParameterC++ typeDescription
namemlir::SymbolRefAttr
columnPtrstd::shared_ptr<Column>

Types

TupleStreamType

tuple stream type

Syntax: !tuples.tuplestream

TupleType

tuple type

Syntax: !tuples.tuple