Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 26 additions & 4 deletions docs/ForDevelopers/MLIR/Dialects/Arrow/ArrowDialect.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ operation ::= `arrow.array.is_valid` $array `,` $offset attr-dict
```


Interfaces: `InferTypeOpInterface`
Traits: `AlwaysSpeculatableImplTrait`

Interfaces: `ConditionallySpeculatable`, `InferTypeOpInterface`, `NoMemoryEffect (MemoryEffectOpInterface)`

Effects: `MemoryEffects::Effect{}`

#### Operands:

Expand Down Expand Up @@ -52,7 +56,11 @@ operation ::= `arrow.array.load_bool` $array `,` $offset attr-dict

This special operation is necessary, since Arrow stores boolean values as bitset, and not individual bytes.

Interfaces: `InferTypeOpInterface`
Traits: `AlwaysSpeculatableImplTrait`

Interfaces: `ConditionallySpeculatable`, `InferTypeOpInterface`, `NoMemoryEffect (MemoryEffectOpInterface)`

Effects: `MemoryEffects::Effect{}`

#### Operands:

Expand Down Expand Up @@ -82,6 +90,12 @@ operation ::= `arrow.array.load_fixed_sized` $array `,` $offset `->` type($value
Used for loading types that are of fixed size from an arrow array (e.g., integers, floats, decimals, dates, timestamp).
There are now runtime checks to ensure that the type of the value matches the type of the array, so this operation can be used for any fixed sized type.

Traits: `AlwaysSpeculatableImplTrait`

Interfaces: `ConditionallySpeculatable`, `NoMemoryEffect (MemoryEffectOpInterface)`

Effects: `MemoryEffects::Effect{}`

#### Operands:

| Operand | Description |
Expand Down Expand Up @@ -110,7 +124,11 @@ operation ::= `arrow.array.load_variable_size_binary` $array `,` $offset `->` ty
Used for loading variable sized binary values from an arrow array (e.g., strings, binary data).
It returns both a pointer to the data and the length of the data.

Interfaces: `InferTypeOpInterface`
Traits: `AlwaysSpeculatableImplTrait`

Interfaces: `ConditionallySpeculatable`, `InferTypeOpInterface`, `NoMemoryEffect (MemoryEffectOpInterface)`

Effects: `MemoryEffects::Effect{}`

#### Operands:

Expand Down Expand Up @@ -209,7 +227,11 @@ operation ::= `arrow.array_builder.from_ptr` $ptr `->` type($builder) attr-dict
```


Interfaces: `InferTypeOpInterface`
Traits: `AlwaysSpeculatableImplTrait`

Interfaces: `ConditionallySpeculatable`, `InferTypeOpInterface`, `NoMemoryEffect (MemoryEffectOpInterface)`

Effects: `MemoryEffects::Effect{}`

#### Operands:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ Effects: `MemoryEffects::Effect{}`

### `subop.gather` (::lingodb::compiler::dialect::subop::GatherOp)

_Scatter_
_Gather_


Syntax:
Expand Down Expand Up @@ -806,6 +806,8 @@ Interfaces: `InferTypeOpInterface`, `StateUsingSubOperator`, `SubOperator`

_Performs a lookup in a state and annotates the result as attribute_

Currently LookupOp returns an optional reference when the state is a map structure.
It is therefore necessary to combine it with an UnwrapOptionalRefOp

Interfaces: `InferTypeOpInterface`, `ReferenceProducer`, `StateUsingSubOperator`, `SubOperator`

Expand Down