‘schedule’ Dialect¶
Verified simulation execution plans
Describes effects, activation and ordering dependencies, continuation and timing sites, commit groups, convergence, kernel ownership and execution specialization. Simulation-to-schedule derives these plans; scheduling transforms optimize them; executor conversions consume them.
Operations¶
schedule.bytes.address (::talos::schedule::NativeByteAddressOp)¶
Immutable bytes awaiting executable reachability
Syntax:
operation ::= `schedule.bytes.address` $name `=` $value `alignment` $alignment attr-dict `:` qualified(type($result))
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
name | ::mlir::StringAttr | string attribute |
value | ::mlir::StringAttr | string attribute |
alignment | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Results:¶
Result |
Description |
|---|---|
|
LLVM pointer type |
schedule.class.method (::talos::schedule::NativeMethodOp)¶
Class method signature and deterministic dispatch slot
Syntax:
operation ::= `schedule.class.method` $sym_name `of` $owner (`slot` $slot^)?
(`signature_id` $signature_id^)?
(`interface_ordinal` $interface_ordinal^)?
(`implemented_by` $implementation^)? `:` $function_type attr-dict
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface), SymbolUserOpInterface, Symbol
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::InventoryResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
sym_name | ::mlir::StringAttr | string attribute |
owner | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
function_type | ::mlir::TypeAttr | any type attribute |
native_type | ::mlir::TypeAttr | any type attribute |
slot | ::mlir::IntegerAttr | 64-bit signless integer attribute |
signature_id | ::mlir::IntegerAttr | 64-bit signless integer attribute |
interface_ordinal | ::mlir::IntegerAttr | 64-bit signless integer attribute |
implementation | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
is_virtual | ::mlir::BoolAttr | bool attribute |
is_pure | ::mlir::BoolAttr | bool attribute |
is_static | ::mlir::BoolAttr | bool attribute |
is_task | ::mlir::BoolAttr | bool attribute |
is_final | ::mlir::BoolAttr | bool attribute |
debug_name | ::mlir::StringAttr | string attribute |
schedule.class.virtual_task_call (::talos::schedule::NativeClassVirtualTaskCallOp)¶
Descriptor-dispatched virtual class task activation
Syntax:
operation ::= `schedule.class.virtual_task_call` $receiver `[` $method `]` `slot` $slot
`signature_id` $signature_id
`(` $values `)` `arguments` $argument_count `to` $continuation
attr-dict `:` functional-type(operands, results)
Resolves a virtual task through the receiver’s managed class descriptor, then transfers the current logical process into the selected task activation. The receiver and explicit argument prefix initialize the method inputs after the implicit caller context; remaining values are forwarded to the continuation.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface), SymbolUserOpInterface
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::talos::sim::StorageResource, MemoryEffects::Write on ::talos::sim::StorageResource, MemoryEffects::Read on ::talos::sim::NetResource, MemoryEffects::Write on ::talos::sim::NetResource, MemoryEffects::Read on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Read on ::talos::sim::ProcessResource, MemoryEffects::Write on ::talos::sim::ProcessResource, MemoryEffects::Read on ::talos::sim::HeapResource, MemoryEffects::Write on ::talos::sim::HeapResource, MemoryEffects::Read on ::talos::sim::IOResource, MemoryEffects::Write on ::talos::sim::IOResource, MemoryEffects::Read on ::talos::sim::RNGResource, MemoryEffects::Write on ::talos::sim::RNGResource, MemoryEffects::Read on ::talos::sim::ExternalResource, MemoryEffects::Write on ::talos::sim::ExternalResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
method | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
slot | ::mlir::IntegerAttr | 64-bit signless integer attribute |
signature_id | ::mlir::IntegerAttr | 64-bit signless integer attribute |
argument_count | ::mlir::IntegerAttr | 64-bit signless integer attribute |
site | ::talos::schedule::ContinuationSiteAttr |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.context (::talos::schedule::NativeContextOp)¶
Syntax:
operation ::= `schedule.context` $context attr-dict `:` type($result)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:¶
Operand |
Description |
|---|---|
|
opaque simulator and design context |
Results:¶
Result |
Description |
|---|---|
|
LLVM pointer type |
schedule.control.boundary (::talos::schedule::NativeControlBoundaryOp)¶
Register the resumable exit of a named block activation
Syntax:
operation ::= `schedule.control.boundary` $activation `resume` $resume
(`(` $resume_operands^ `:` type($resume_operands) `)`)?
`body` $body attr-dict
The resume successor is the block exit used when another logical process disables this activation. Its operands are checkpointed in the canonical process frame. Ordinary execution registers that continuation and follows the body successor without yielding to the scheduler.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
|
any successor |
schedule.execute (::talos::schedule::NativeExecuteOp)¶
Invoke a scheduled body through its prepared native ABI
Syntax:
operation ::= `schedule.execute` $callee `(` $operands `)` attr-dict `:` functional-type($operands, $results)
Interfaces: SymbolUserOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
callee | ::mlir::SymbolRefAttr | symbol reference attribute |
status_result | ::mlir::UnitAttr | unit attribute |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Results:¶
Result |
Description |
|---|---|
|
variadic of any type |
schedule.gc.collect (::talos::schedule::NativeGCCollectOp)¶
Designated managed-heap collection point
Syntax:
operation ::= `schedule.gc.collect` $runtime_context (`if` $edge^)? attr-dict `:`
qualified(type($runtime_context))
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::mlir::SideEffects::DefaultResource, MemoryEffects::Write on ::mlir::SideEffects::DefaultResource, MemoryEffects::Read on ::talos::sim::HeapResource, MemoryEffects::Write on ::talos::sim::HeapResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
periodic_clock | ::mlir::IntegerAttr | 32-bit signless integer attribute |
period | ::mlir::IntegerAttr | 64-bit signless integer attribute |
posedge | ::mlir::UnitAttr | unit attribute |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
1-bit signless integer |
Results:¶
Result |
Description |
|---|---|
|
32-bit signless integer |
schedule.gc.root_range.pop (::talos::schedule::NativeManagedRootPopOp)¶
Syntax:
operation ::= `schedule.gc.root_range.pop` $record attr-dict `:` qualified(type($record))
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::mlir::SideEffects::DefaultResource, MemoryEffects::Write on ::mlir::SideEffects::DefaultResource, MemoryEffects::Read on ::talos::sim::ProcessResource, MemoryEffects::Write on ::talos::sim::HeapResource}
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
schedule.gc.root_range.push (::talos::schedule::NativeManagedRootPushOp)¶
Syntax:
operation ::= `schedule.gc.root_range.push` $record `slots` $slots `count` $count (`lazy` $lazy^)? attr-dict `:`
qualified(type($record)) `,` qualified(type($slots))
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::mlir::SideEffects::DefaultResource, MemoryEffects::Write on ::mlir::SideEffects::DefaultResource, MemoryEffects::Read on ::talos::sim::ProcessResource, MemoryEffects::Write on ::talos::sim::HeapResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
lazy | ::mlir::UnitAttr | unit attribute |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
LLVM pointer type |
|
64-bit signless integer |
Results:¶
Result |
Description |
|---|---|
|
32-bit signless integer |
schedule.known.roots (::talos::schedule::NativeKnownRootsOp)¶
Test that whole storage roots hold no X or Z
Syntax:
operation ::= `schedule.known.roots` $references attr-dict `:` qualified(type($references))
True when every referenced storage root holds X or Z exactly in the bits
of its steady pattern (simulation.steady_unknown, none without one) and
nowhere else. Each reference addresses a whole root. Generated code tests
one summary bit per root, which every writer that may make the root differ
from its pattern sets and the runtime clears after comparing the root’s
unknown plane with the pattern, so the predicate never claims a root the
summary does not track.
Operands:¶
Operand |
Description |
|---|---|
|
variadic of typed mutable storage handle |
Results:¶
Result |
Description |
|---|---|
|
1-bit signless integer |
schedule.known.value (::talos::schedule::NativeKnownValueOp)¶
Test the complete unknown plane of a fixed native value
Syntax:
operation ::= `schedule.known.value` operands attr-dict `:` functional-type(operands, results)
Establishes that every represented bit of input is two-state. Fixed unpacked arrays and structs retain their native value/unknown planes; there is no bit-stream export, allocation, runtime call or state effect. This predicate proves knownness only, not equality, visibility or bounds.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:¶
Operand |
Description |
|---|---|
|
any type |
Results:¶
Result |
Description |
|---|---|
|
1-bit signless integer |
schedule.nba.batch (::talos::schedule::NativeNBABatchOp)¶
Commit a certified private set of NBA roots at one barrier
Syntax:
operation ::= `schedule.nba.batch` $context `,` $barrier `,` $changed $body attr-dict
`:` functional-type(operands, results)
IEEE 1800-2023 4.3, 4.5, 4.6, 4.9.4 and 10.4.2. Executes the commit actions in body at the current NBA barrier. Each root has already captured its RHS, destination and write mask during staging. Admission proves that intermediate values have no observers, except direct generated change consumers covered by the accumulator’s transient mask. No edge, expression, runtime, clocking or external observer may be elided. These proofs concern observation, not source-language visibility.
The region is a non-suspending commit boundary, not a time-slot boundary. Only nba.commit and nba.yield are permitted inside it. Commits may share guards and combine pending consumer activations; they cannot move into Active or across another barrier. Roots whose runtime guard fails remain pending for the canonical commit that must follow this region. A successful root commit consumes its staging record and only its own dirty bit. The changed flag is accumulated, and status reports a runtime error, if any.
Traits: SingleBlock
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::mlir::SideEffects::DefaultResource, MemoryEffects::Write on ::mlir::SideEffects::DefaultResource, MemoryEffects::Read on ::talos::sim::StorageResource, MemoryEffects::Write on ::talos::sim::StorageResource, MemoryEffects::Read on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Read on ::talos::sim::ExternalResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
layout | ::talos::schedule::NBABatchLayoutAttr |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
32-bit signless integer |
|
LLVM pointer type |
Results:¶
Result |
Description |
|---|---|
|
32-bit signless integer |
schedule.nba.commit (::talos::schedule::NativeNBACommitOp)¶
Consume certified private accumulator or fixed-slot staging
Syntax:
operation ::= `schedule.nba.commit` $root attr-dict
Traits: HasParent<NativeNBABatchOp>
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::talos::sim::StorageResource, MemoryEffects::Write on ::talos::sim::StorageResource, MemoryEffects::Read on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::SchedulerResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
root | ::mlir::IntegerAttr | 64-bit signless integer attribute |
layout | ::talos::schedule::NBACommitLayoutAttr |
schedule.nba.yield (::talos::schedule::NativeNBAYieldOp)¶
Finish a private NBA commit region
Syntax:
operation ::= `schedule.nba.yield` attr-dict
Traits: AlwaysSpeculatableImplTrait, HasParent<NativeNBABatchOp>, Terminator
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
schedule.observer (::talos::schedule::NativeObserverOp)¶
Computed observer descriptor with physical captures
Syntax:
operation ::= `schedule.observer` `(` ($values^ `:` type($values))? `)` `captures` $capture_count attr-dict
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
capture_count | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Results:¶
Result |
Description |
|---|---|
|
64-bit signless integer |
schedule.process.control (::talos::schedule::NativeProcessControlOp)¶
Apply an IEEE control operation to one process object
Syntax:
operation ::= `schedule.process.control` $kind $process `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict
This is a control-flow terminator because the target can dynamically name the executing logical process or one of its ancestors. Resuming a process, or controlling another process while the caller survives, transfers immediately to the continuation. Suspending the caller yields and later resumes at that continuation. Killing the caller never reaches it.
A null handle reports a runtime invalid-handle failure. Zero-time function entries may contain this operation; lowering must propagate its control action through the function call chain before coroutine or bytecode materialization.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Read on ::talos::sim::ProcessResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
kind | ::talos::sim::ProcessControlKindAttr | process object control kind |
site | ::talos::schedule::ContinuationSiteAttr |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.ready.commit (::talos::schedule::NativeReadyCommitOp)¶
Materialize one SSA pending-word update and its indexes
Syntax:
operation ::= `schedule.ready.commit` operands attr-dict `:` functional-type(operands, results)
Replaces a certified unobserved sequence of ordered add/consume actions. The resulting pending word is (previous & ~remove_mask) | add_mask. SSA masks include every intervening consume; event publications remain distinct ordered effects. Materializes the authoritative leaf and derived indexes together before any selection, observer or handoff boundary.
Interfaces: MemoryEffectOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
capacity | ::mlir::IntegerAttr | 64-bit signless integer attribute |
word | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
64-bit signless integer |
|
64-bit signless integer |
schedule.ready.merge (::talos::schedule::NativeReadyMergeOp)¶
Add an ascending bitmap to a pending set and its indexes
Syntax:
operation ::= `schedule.ready.merge` operands attr-dict `:` functional-type(operands, results)
Reads ceil(capacity / 64) i64 words from source in ascending order. Each word is read immediately before adding its bits to the corresponding ReadySetLayout leaf at base and updating that leaf’s indexes. Bits above capacity in the last source word are ignored. Source may overlap base; earlier leaf/index writes are visible to later source reads. Both operands address storage aligned to at least eight bytes.
This is an ordered scheduler effect, with no actor, callback, selection or checkpoint inside it. Pending ready updates must be materialized before the merge, and its leaves, exact summaries and stale-low minimum cache are visible to every subsequent observer. It does not consume the source.
Interfaces: MemoryEffectOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
capacity | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
LLVM pointer type |
schedule.ready.read (::talos::schedule::NativeReadyReadOp)¶
Inspect the current pending leaf, including region-local updates
Syntax:
operation ::= `schedule.ready.read` operands attr-dict `:` functional-type(operands, results)
Reads one authoritative pending word without consuming it. Within a ready.region the result includes all preceding ordered add/consume actions in that region; it does not require materializing derived indexes. Opaque accesses, calls and handoffs still require coherent physical storage. This reads pending activation state, not event history (LRM 4.3–4.7).
Interfaces: MemoryEffectOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
capacity | ::mlir::IntegerAttr | 64-bit signless integer attribute |
word | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
Results:¶
Result |
Description |
|---|---|
|
64-bit signless integer |
schedule.ready.region (::talos::schedule::NativeReadyRegionOp)¶
Carry pending readiness through a non-suspending CFG
Syntax:
operation ::= `schedule.ready.region` $body attr-dict (`:` type($results)^)?
Execute the body in source order while representing ready.update and ready.commit actions as local remove/add masks. Materialize pending masks before opaque readiness inspection, potentially aliasing accesses, calls, observers and region exit. Disjoint ordinary storage accesses do not inspect readiness. Signal transitions and NBA actions retain their order and are observation boundaries. This changes pending-set representation, never event history or activation eligibility (IEEE 1800-2023 4.3–4.7). ready.read observes the current local pending word without a flush. The region has no entry arguments; exits use ready.yield, whose operands become the region’s results, so a function that returns a value keeps its CFG inside one region. Only flat CFG branches are allowed, with no suspensions or nested regions.
Traits: RecursiveMemoryEffects
Results:¶
Result |
Description |
|---|---|
|
variadic of any type |
schedule.ready.update (::talos::schedule::NativeReadyUpdateOp)¶
Add or consume an exact word of pending fine activations
Syntax:
operation ::= `schedule.ready.update` operands attr-dict `:` functional-type(operands, results)
Updates the authoritative ReadySetLayout leaf and its derived indexes. With consume=false it unions mask; with consume=true it removes mask. capacity freezes the ready universe and word identifies the leaf, without recovering either from addresses. These are pending activations, not event history. Ordered updates may be combined only while no selection, observer, callback, opaque alias, or handoff can observe intermediate storage. All leaves/indexes must be materialized at those boundaries.
Interfaces: MemoryEffectOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
capacity | ::mlir::IntegerAttr | 64-bit signless integer attribute |
word | ::mlir::IntegerAttr | 64-bit signless integer attribute |
consume | ::mlir::BoolAttr | bool attribute |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
64-bit signless integer |
schedule.ready.yield (::talos::schedule::NativeReadyYieldOp)¶
Materialize pending readiness and leave its region
Syntax:
operation ::= `schedule.ready.yield` ($operands^ `:` type($operands))? attr-dict
Traits: AlwaysSpeculatableImplTrait, HasParent<NativeReadyRegionOp>, Terminator
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
schedule.scratch (::talos::schedule::NativeScratchOp)¶
Native activation scratch storage that survives status branches
Syntax:
operation ::= `schedule.scratch` $size attr-dict
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Allocate on ::mlir::SideEffects::DefaultResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
size | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Results:¶
Result |
Description |
|---|---|
|
schedule.spawn (::talos::schedule::NativeSpawnOp)¶
Spawn a sibling simulation process with explicit captures
Syntax:
operation ::= `schedule.spawn` $callee `(` $operands `)` attr-dict
`:` type($operands) `->` qualified(type($process))
A spawn is a call edge that starts an independent logical process instead of executing in the caller. Its operands are the callee’s entry captures; its result is the scheduler handle of the new process, not a callee result.
Interfaces: ArgAndResultAttrsOpInterface, CallOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface), SymbolUserOpInterface
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
callee | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
arg_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
res_attrs | ::mlir::ArrayAttr | Array of dictionary attributes |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Results:¶
Result |
Description |
|---|---|
|
64-bit signless integer |
schedule.suspend.any (::talos::schedule::NativeSuspendAnyOp)¶
Suspend until any watched handle observes its requested edge
Syntax:
operation ::= `schedule.suspend.any` $values `edges` $edges `to` $continuation
attr-dict `:` type($values)
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
edges | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.await (::talos::schedule::NativeSuspendAwaitOp)¶
Suspend until the awaited process terminates
Syntax:
operation ::= `schedule.suspend.await` $process `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)? attr-dict
Resumes once the target process has finished, whether it terminated
normally or was killed. This is used for an explicit task/process await;
fork/join synchronization uses suspend.join.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.change (::talos::schedule::NativeSuspendChangeOp)¶
Syntax:
operation ::= `schedule.suspend.change` $watched `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)? attr-dict `:` type($watched)
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.children (::talos::schedule::NativeSuspendChildrenOp)¶
Suspend until every current direct child has terminated
Syntax:
operation ::= `schedule.suspend.children` `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.clock_set (::talos::schedule::NativeSuspendClockSetOp)¶
Suspend on an exact set of frozen clock occurrences
Syntax:
operation ::= `schedule.suspend.clock_set` $values `conditions` $condition_count `edges` $edges
`indices` $condition_indices `site` $occurrence_site
`to` $continuation attr-dict `:` type($values)
The first edges.size() values are direct signal clock primaries. They are
followed by condition_count optional iff handles and then successor
operands. condition_indices contains -1 or the condition index for every
primary. At most 64 primaries are accepted. The runtime groups all matched
primaries from one exact scheduler publication wave into an occurrence
mask without coalescing repeated occurrences in that wave.
The optional slot_final marker is reserved for Clause 31 coordinators
whose simultaneous-event decision needs every producer region at the
current numeric simulation time. It changes scheduler admission only; the
occurrence ABI and queue representation remain identical.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
condition_count | ::mlir::IntegerAttr | 32-bit signless integer attribute |
edges | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
condition_indices | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
condition_predicates | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
occurrence_site | ::mlir::IntegerAttr | 64-bit signless integer attribute |
slot_final | ::mlir::UnitAttr | unit attribute |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.delay (::talos::schedule::NativeSuspendDelayOp)¶
Syntax:
operation ::= `schedule.suspend.delay` $delay `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)? attr-dict
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
timing | ::talos::schedule::TimingSiteAttr | |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
target-independent scaled simulation time |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.edge (::talos::schedule::NativeSuspendEdgeOp)¶
Syntax:
operation ::= `schedule.suspend.edge` $edge $watched `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict `:` type($watched)
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
edge | ::talos::sim::EdgeKindAttr | suspension edge kind |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.edge_iff (::talos::schedule::NativeSuspendEdgeIffOp)¶
Suspend until a watched event whose level condition is true
Syntax:
operation ::= `schedule.suspend.edge_iff` $edge $watched `iff` $condition `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict `:` type($watched) `,` type($condition)
The condition is a directly addressable packed object. The scheduler
samples its complete four-state value when the primary event occurs and
latches a successful occurrence for the waiting process. Changes to the
condition alone never resume the process. IEEE 1800-2017 9.4.2.3 writes
the primary event with an optional edge identifier – its always @(a iff enable == 1) example qualifies a plain value change – so a change edge
is as ordinary here as a directed one.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
edge | ::talos::sim::EdgeKindAttr | suspension edge kind |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.event (::talos::schedule::NativeSuspendEventOp)¶
Syntax:
operation ::= `schedule.suspend.event` $event `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)? attr-dict
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.event_order (::talos::schedule::NativeSuspendEventOrderOp)¶
Suspend until named events occur in source order or fail
Syntax:
operation ::= `schedule.suspend.event_order` $values `events` $event_count `to` $continuation
attr-dict `:` type($values)
The first event_count values are event handles in required occurrence
order. Remaining values are successor operands. The scheduler observes
every event publication synchronously, so an out-of-order occurrence is
retained even when several events trigger before the continuation runs.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
event_count | ::mlir::IntegerAttr | 32-bit signless integer attribute |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.forever (::talos::schedule::NativeSuspendForeverOp)¶
Permanently suspend the current logical process
Syntax:
operation ::= `schedule.suspend.forever` `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.join (::talos::schedule::NativeSuspendJoinOp)¶
Suspend until all or any child process terminates
Syntax:
operation ::= `schedule.suspend.join` $kind $values `processes` $process_count `to`
$continuation attr-dict `:` type($values)
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
kind | ::talos::sim::JoinKindAttr | process join mode |
process_count | ::mlir::IntegerAttr | 64-bit signless integer attribute |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.level (::talos::schedule::NativeSuspendLevelOp)¶
Suspend until a directly watched packed value becomes true
Syntax:
operation ::= `schedule.suspend.level` $watched `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict `:` type($watched)
The scheduler evaluates the complete four-state value after every overlapping store and latches the first true occurrence. This preserves a transient true value even if a later store changes it again before the waiting continuation executes.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.mailbox (::talos::schedule::NativeSuspendMailboxOp)¶
Suspend until a mailbox can complete a blocking operation
Syntax:
operation ::= `schedule.suspend.mailbox` $mailbox $kind `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict `:` type($mailbox)
Suspends on the mailbox’s not-empty or not-full predicate. The mailbox must also be passed to the continuation, which keeps the managed handle in the canonical process frame and therefore rooted while the process waits.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
kind | ::talos::sim::MailboxWaitKindAttr | mailbox readiness predicate |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.observe (::talos::schedule::NativeSuspendObserveOp)¶
Suspend on source-ordered computed timing clauses
Syntax:
operation ::= `schedule.suspend.observe` $values `conditions` $condition_count `edges` $edges
`indices` $condition_indices `to` $continuation attr-dict
`:` type($values)
Each primary observer has one encounter-time initial value and requested
edge. condition_indices has one entry per primary: -1 denotes no iff,
otherwise the entry indexes the condition observer list. Conditions are
evaluated only after their corresponding primary occurrence.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
condition_count | ::mlir::IntegerAttr | 32-bit signless integer attribute |
edges | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
condition_indices | ::mlir::DenseI32ArrayAttr | i32 dense array attribute |
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.suspend.semaphore (::talos::schedule::NativeSuspendSemaphoreOp)¶
Suspend for a FIFO semaphore acquisition
Syntax:
operation ::= `schedule.suspend.semaphore` $keys `from` $semaphore `to` $continuation
(`(` $continuation_operands^ `:` type($continuation_operands) `)`)?
attr-dict `:` type($semaphore)
Suspends until this waiter is at the head of the semaphore’s FIFO wait order and the scheduler has atomically obtained the requested keys for it. The handle and key count are copied into the runtime wait record, which is a precise GC root and remains stable across suspension.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::ProcessResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
site | ::talos::schedule::ContinuationSiteAttr | |
resume_region | ::talos::sim::EventRegionAttr | IEEE executable event-region queue |
Operands:¶
Operand |
Description |
|---|---|
|
64-bit signless integer |
|
32-bit signless integer |
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.task.call (::talos::schedule::NativeTaskCallOp)¶
Transfer the current logical process into a task activation
Syntax:
operation ::= `schedule.task.call` $callee `(` $values `)` `arguments`
$argument_count `to` $continuation attr-dict `:` type($values)
The argument prefix initializes the callee activation. The remaining operands are forwarded to the caller continuation after the task returns. Output destinations are explicit reference arguments in the callee signature, so a suspended task never retains native caller addresses.
Traits: Terminator
Interfaces: BranchOpInterface, MemoryEffectOpInterface (MemoryEffectOpInterface), SymbolUserOpInterface
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::talos::sim::StorageResource, MemoryEffects::Write on ::talos::sim::StorageResource, MemoryEffects::Read on ::talos::sim::NetResource, MemoryEffects::Write on ::talos::sim::NetResource, MemoryEffects::Read on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Read on ::talos::sim::ProcessResource, MemoryEffects::Write on ::talos::sim::ProcessResource, MemoryEffects::Read on ::talos::sim::HeapResource, MemoryEffects::Write on ::talos::sim::HeapResource, MemoryEffects::Read on ::talos::sim::IOResource, MemoryEffects::Write on ::talos::sim::IOResource, MemoryEffects::Read on ::talos::sim::RNGResource, MemoryEffects::Write on ::talos::sim::RNGResource, MemoryEffects::Read on ::talos::sim::ExternalResource, MemoryEffects::Write on ::talos::sim::ExternalResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
callee | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
argument_count | ::mlir::IntegerAttr | 64-bit signless integer attribute |
site | ::talos::schedule::ContinuationSiteAttr |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Successors:¶
Successor |
Description |
|---|---|
|
any successor |
schedule.time (::talos::schedule::NativeTimeOp)¶
Syntax:
operation ::= `schedule.time` $time attr-dict
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:¶
Operand |
Description |
|---|---|
|
target-independent scaled simulation time |
Results:¶
Result |
Description |
|---|---|
|
64-bit signless integer |
schedule.transfer.activation (::talos::schedule::TransferActivationOp)¶
One ordered continuous copy activation and its source wait
Syntax:
operation ::= `schedule.transfer.activation` operands attr-dict `:` functional-type(operands, results)
IEEE 1800-2023 4.9.1, 4.9.6, 9.4.2 and 10.6.2. Binds an original process to a continuous transfer between entry storage captures. The process executes initially and on each source change, in Active, retaining its identity, canonical frame, wait and publication. Source and destination remain distinct handles even when implementations are shared. A transfer samples the source, performs the complete continuous assignment (including force/release contribution), and then arms its wait. It must not be interpreted as an alias or as a final-value-only update.
signature, source, destination and capture_offsets specify the canonical capture ABI. -1 offsets identify context captures supplied by the instance. Without kernel, this actor has its own table-process entry. With kernel, it uses the shared implementation selected by Schedule optimization; representation conversion must not regroup activations.
Interfaces: SymbolUserOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
actor | ::mlir::SymbolRefAttr | symbol reference attribute |
signature | ::mlir::TypeAttr | any type attribute |
source | ::mlir::IntegerAttr | 32-bit signless integer attribute |
destination | ::mlir::IntegerAttr | 32-bit signless integer attribute |
capture_offsets | ::mlir::DenseI64ArrayAttr | i64 dense array attribute |
kernel | ::mlir::FlatSymbolRefAttr | flat symbol reference attribute |
schedule.transfer.kernel (::talos::schedule::TransferKernelOp)¶
Shared implementation of ordered continuous transfers
Syntax:
operation ::= `schedule.transfer.kernel` operands attr-dict `:` functional-type(operands, results)
IEEE 1800-2023 4.9.1 and 10.3.2: code sharing preserves separate updates. Implements the transfer semantics of transfer.activation using the executing instance’s context and canonical storage captures. No storage identity, source owner, continuation ID or wait record is baked into this kernel. Each activation supplies those through its own instance and wait plan. All sharing and ABI compatibility decisions precede conversion.
Interfaces: Symbol
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
sym_name | ::mlir::StringAttr | string attribute |
signature | ::mlir::TypeAttr | any type attribute |
source | ::mlir::IntegerAttr | 32-bit signless integer attribute |
destination | ::mlir::IntegerAttr | 32-bit signless integer attribute |
capture_offsets | ::mlir::DenseI64ArrayAttr | i64 dense array attribute |
schedule.transition (::talos::schedule::NativeTransitionOp)¶
Publish one exact scalar four-state transition
Syntax:
operation ::= `schedule.transition` operands attr-dict `:` functional-type(operands, results)
Publishes the captured old/new value and unknown planes of one store in the executing process’s current event region. The offset is relative to the static root, and width is between 1 and 64. Dynamic offsets retain their original selector semantics. source_owner identifies the original logical process, including inside a fused activation; its absence requires runtime source resolution. Publication is synchronous and may deliver observers/callbacks. It is never a final-value-only notification and may not be moved across another effect or coalesced with another occurrence.
Interfaces: MemoryEffectOpInterface (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Read on ::mlir::SideEffects::DefaultResource, MemoryEffects::Write on ::mlir::SideEffects::DefaultResource, MemoryEffects::Read on ::talos::sim::StorageResource, MemoryEffects::Write on ::talos::sim::StorageResource, MemoryEffects::Read on ::talos::sim::SchedulerResource, MemoryEffects::Write on ::talos::sim::SchedulerResource, MemoryEffects::Read on ::talos::sim::ProcessResource, MemoryEffects::Write on ::talos::sim::ProcessResource, MemoryEffects::Read on ::talos::sim::ExternalResource, MemoryEffects::Write on ::talos::sim::ExternalResource}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
static_state | ::mlir::IntegerAttr | 64-bit signless integer attribute |
width | ::mlir::IntegerAttr | 64-bit signless integer attribute |
source_owner | ::talos::schedule::SourceOwnerAttr |
Operands:¶
Operand |
Description |
|---|---|
|
LLVM pointer type |
|
64-bit signless integer |
|
64-bit signless integer |
|
64-bit signless integer |
|
64-bit signless integer |
|
64-bit signless integer |
schedule.word.extract (::talos::schedule::NativeWordExtractOp)¶
Extract a native word from canonical unpacked SSA storage
Syntax:
operation ::= `schedule.word.extract` $input `from` $low_bit attr-dict `:` functional-type(operands, results)
Extracts consecutive bits of a fixed unpacked array of packed elements. low_bit is a physical storage offset, with elements ordered from the declaration’s left bound. Value and unknown planes retain that order; this operation does not perform a packed cast or streaming conversion. The result has the same state domain as the element. A negative offset or a word extending past the array returns the result’s default value (all X for logic, zero for an integer). Formation proves containment.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:¶
Operand |
Description |
|---|---|
|
any type |
|
signless integer |
Results:¶
Result |
Description |
|---|---|
|
any type |
schedule.word.region (::talos::schedule::NativeWordRegionOp)¶
Execute a proven native-width packed computation
Syntax:
operation ::= `schedule.word.region` $width $body attr-dict
Executes the enclosed non-suspending CFG once, in program order. Packed updates fit the declared maximum native word width, between 2 and 64 bits. If lane_count is nonzero, each update contains that many complete scalar elements; independent fields can retain different element widths. A zero lane_count denotes the legacy form with all updates at the declared width. Both value and unknown planes remain exact; width does not imply two-state. Formation proves bounded lane iteration, contained selectors, independent lane dataflow, and unobservable intermediate publications before replacing scalar iterations. Calls, overrides and other observation boundaries are not permitted. Conversion only removes the representation boundary; it must not rediscover eligibility or scalarize a word into individual bits. The entry block has no arguments and exits use word.yield.
Traits: RecursiveMemoryEffects
Interfaces: RegionBranchOpInterface
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
width | ::mlir::IntegerAttr | 32-bit signless integer attribute |
lane_count | ::mlir::IntegerAttr | 32-bit signless integer attribute |
schedule.word.resize_lanes (::talos::schedule::NativeWordResizeLanesOp)¶
Resize each native storage lane without changing its bit order
Syntax:
operation ::= `schedule.word.resize_lanes` operands attr-dict `:` functional-type(operands, results)
Treats the input and result as equal-length sequences of integer lanes. Each lane is independently truncated or zero-extended. Four-state value and unknown planes undergo the same transformation, preserving X and Z. This bridges packed logical lanes and padded physical array slots without scalar memory accesses. Lowering uses LLVM vector integer conversions.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
input_lane_width | ::mlir::IntegerAttr | 32-bit signless integer attribute |
result_lane_width | ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
any type |
Results:¶
Result |
Description |
|---|---|
|
any type |
schedule.word.reverse (::talos::schedule::NativeWordReverseOp)¶
Reverse native elements, preserving both four-state planes
Syntax:
operation ::= `schedule.word.reverse` operands attr-dict `:` functional-type(operands, results)
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
lane_width | ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
any type |
Results:¶
Result |
Description |
|---|---|
|
any type |
schedule.word.table (::talos::schedule::NativeWordTableOp)¶
Evaluate an exact scalar truth table independently in each lane
Syntax:
operation ::= `schedule.word.table` operands attr-dict `:` functional-type(operands, results)
Operands and result have one common word width (2 through 64), using either integer bits or exact four-state logic. Each table index consists of each operand’s value bit followed by its unknown bit for four-state operands. Table entries supply the result’s value and unknown bits. The tables have 2^P entries, where P is the number of operand planes, at most six. This represents scalar arithmetic, comparisons and selections without allowing carries, reductions or control predicates to cross independent lanes. Conversion emits Boolean word operations, never a per-bit loop or helper.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:¶
| Attribute | MLIR Type | Description |
|---|---|---|
value_table | ::mlir::IntegerAttr | arbitrary integer attribute |
unknown_table | ::mlir::IntegerAttr | arbitrary integer attribute |
Operands:¶
Operand |
Description |
|---|---|
|
variadic of any type |
Results:¶
Result |
Description |
|---|---|
|
any type |
schedule.word.view (::talos::schedule::NativeWordViewOp)¶
View consecutive scalar array storage lanes as one packed word
Syntax:
operation ::= `schedule.word.view` operands attr-dict `:` functional-type(operands, results)
Selects a packed native word from the canonical storage of a fixed unpacked array of packed elements. low_bit is a physical storage offset: unpacked elements are ordered from the declaration’s left bound. This is a storage view, not a SystemVerilog packed cast or streaming expression. The formation pass proves containment and equal state domains. Invalid offsets produce an invalid reference, as for native reference selectors.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), ViewLikeOpInterface
Effects: MemoryEffects::Effect{}
Operands:¶
Operand |
Description |
|---|---|
|
typed mutable storage handle |
|
signless integer |
Results:¶
Result |
Description |
|---|---|
|
typed mutable storage handle |
schedule.word.yield (::talos::schedule::NativeWordYieldOp)¶
Syntax:
operation ::= `schedule.word.yield` attr-dict
Traits: AlwaysSpeculatableImplTrait, HasParent<NativeWordRegionOp>, Terminator
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), RegionBranchTerminatorOpInterface
Effects: MemoryEffects::Effect{}
Attributes¶
NBABatchLayoutAttr¶
Syntax:
#schedule.nba_batch_layout<
::mlir::FlatSymbolRefAttr, # plan
::mlir::FlatSymbolRefAttr, # value
::mlir::FlatSymbolRefAttr, # unknown
::mlir::FlatSymbolRefAttr, # dirty
::mlir::FlatSymbolRefAttr, # summary
::mlir::FlatSymbolRefAttr, # ingress
uint64_t, # bitCount
uint32_t, # rootCount
uint32_t # capacity
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
plan |
|
|
value |
|
|
unknown |
|
|
dirty |
|
|
summary |
|
|
ingress |
|
|
bitCount |
|
|
rootCount |
|
|
capacity |
|
NBACommitLayoutAttr¶
Syntax:
#schedule.nba_commit_layout<
uint64_t, # offset
uint64_t, # width
::mlir::FlatSymbolRefAttr, # accumulator
::mlir::ArrayAttr, # slots
::mlir::ArrayAttr # consumers
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
offset |
|
|
width |
|
|
accumulator |
|
|
slots |
|
|
consumers |
|
NBAConsumerAttr¶
Syntax:
#schedule.nba_consumer<
uint64_t, # low
uint64_t, # width
uint32_t # bit
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
low |
|
|
width |
|
|
bit |
|
NBASlotLayoutAttr¶
Syntax:
#schedule.nba_slot_layout<
::mlir::FlatSymbolRefAttr, # offset
::mlir::FlatSymbolRefAttr, # value
::mlir::FlatSymbolRefAttr, # unknown
::mlir::FlatSymbolRefAttr, # valid
uint64_t, # width
::mlir::IntegerAttr # constantOffset
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
offset |
|
|
value |
|
|
unknown |
|
|
valid |
|
|
width |
|
|
constantOffset |
|
CheckpointRouteAttr¶
Syntax:
#schedule.checkpoint_route<
::mlir::FlatSymbolRefAttr, # fourState
::mlir::IntegerAttr, # actor
::mlir::IntegerAttr # continuation
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
fourState |
|
|
actor |
|
|
continuation |
|
ClockedSamplePlanAttr¶
Syntax:
#schedule.clocked_sample_plan<
::mlir::StringAttr, # key
::mlir::IntegerAttr, # id
::mlir::StringAttr # hierarchy
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
key |
|
|
id |
|
|
hierarchy |
|
GroupProofDependencyAttr¶
Syntax:
#schedule.group_proof_dependency<
::mlir::IntegerAttr, # domain
::mlir::DenseI32ArrayAttr, # members
::mlir::DenseI64ArrayAttr # ranges
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
domain |
|
|
members |
|
|
ranges |
|
KernelProofDependencyAttr¶
Syntax:
#schedule.kernel_proof_dependency<
::mlir::IntegerAttr, # latch
::mlir::IntegerAttr, # pendingBit
::mlir::DenseI64ArrayAttr # ranges
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
latch |
|
|
pendingBit |
|
|
ranges |
|
NBAProofDependencyAttr¶
Syntax:
#schedule.nba_proof_dependency<
::mlir::IntegerAttr, # bit
::mlir::DenseI64ArrayAttr # ranges
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
bit |
|
|
ranges |
|
PathProbeRouteAttr¶
Syntax:
#schedule.path_probe_route<
::mlir::FlatSymbolRefAttr, # twoState
::mlir::FlatSymbolRefAttr, # probe
::mlir::FlatSymbolRefAttr # checkpointProbe
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
twoState |
|
|
probe |
|
|
checkpointProbe |
|
PeriodicAliasAttr¶
Syntax:
#schedule.periodic_alias<
uint32_t, # sourceStaticState
uint32_t, # forwardingActorSlot
uint32_t, # forwardingContinuation
uint32_t, # targetStaticState
uint64_t, # sourceBitOffset
uint64_t, # targetBitOffset
uint64_t # driverBitOffset
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
sourceStaticState |
|
|
forwardingActorSlot |
|
|
forwardingContinuation |
|
|
targetStaticState |
|
|
sourceBitOffset |
|
|
targetBitOffset |
|
|
driverBitOffset |
|
PeriodicClockAttr¶
Syntax:
#schedule.periodic_clock<
uint32_t, # actorSlot
uint32_t, # continuation
uint32_t, # staticState
uint64_t, # bitOffset
uint64_t, # halfPeriod
::llvm::ArrayRef<uint64_t> # coveragePoints
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
actorSlot |
|
|
continuation |
|
|
staticState |
|
|
bitOffset |
|
|
halfPeriod |
|
|
coveragePoints |
|
RouteProofDependencyAttr¶
Syntax:
#schedule.route_proof_dependency<
::mlir::DenseI64ArrayAttr, # ranges
::mlir::IntegerAttr # pendingBit
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
ranges |
|
|
pendingBit |
|
SourceOwnerAttr¶
Syntax:
#schedule.source_owner<
::mlir::IntegerAttr, # codeUnit
::mlir::IntegerAttr # continuation
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
codeUnit |
|
|
continuation |
|
ClockKernelAttr¶
Syntax:
#schedule.clock_kernel<
uint32_t, # id
::talos::schedule::ClockKeyAttr # key
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
key |
|
ClockKernelPlanAttr¶
Stable clock-keyed native-kernel ownership plan
Syntax:
#schedule.clock_kernel_plan<
uint32_t, # version
::talos::schedule::ComputeGraphAttr, # sourceGraph
uint32_t, # ownerCount
::mlir::ArrayAttr, # clocks
::mlir::ArrayAttr, # mergedFragments
::mlir::ArrayAttr # ingress
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
version |
|
|
sourceGraph |
|
|
ownerCount |
|
|
clocks |
|
|
mergedFragments |
|
|
ingress |
|
ClockKeyAttr¶
Syntax:
#schedule.clock_key<
::talos::schedule::ComputeResourceKind, # resource
uint64_t, # descriptor
uint64_t, # low
uint64_t, # width
::talos::schedule::ComputeTriggerKind # edge
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
resource |
|
an enum of type ComputeResourceKind |
descriptor |
|
|
low |
|
|
width |
|
|
edge |
|
an enum of type ComputeTriggerKind |
ComputeEdgeAttr¶
Syntax:
#schedule.edge<
uint32_t, # source
uint32_t, # target
::talos::schedule::ComputeEdgeKind, # kind
::talos::schedule::ComputeEffectAttr # resource
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
source |
|
|
target |
|
|
kind |
|
an enum of type ComputeEdgeKind |
resource |
|
ComputeEffectAttr¶
Syntax:
#schedule.effect<
::talos::schedule::ComputeEffectKind, # effect
::talos::schedule::ComputeResourceKind, # resource
::talos::schedule::ComputeTargetKind, # target
uint64_t, # descriptor
uint32_t, # formal
uint64_t, # low
uint64_t, # width
bool, # dynamic
bool, # deferred
::talos::schedule::ComputeTriggerKind # trigger
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
effect |
|
an enum of type ComputeEffectKind |
resource |
|
an enum of type ComputeResourceKind |
target |
|
an enum of type ComputeTargetKind |
descriptor |
|
|
formal |
|
|
low |
|
|
width |
|
|
dynamic |
|
|
deferred |
|
|
trigger |
|
an enum of type ComputeTriggerKind |
ComputeEventCommitAttr¶
Syntax:
#schedule.event_commit<
uint32_t, # id
::mlir::DenseI64ArrayAttr, # sites
::talos::schedule::ComputeEffectAttr # effect
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
sites |
|
|
effect |
|
ComputeFragmentAttr¶
Syntax:
#schedule.fragment<
uint32_t, # id
::mlir::FlatSymbolRefAttr, # function
uint32_t, # block
::talos::schedule::ComputeRegionKind, # region
::talos::schedule::ComputeActionKind, # action
::talos::schedule::ComputeTierKind, # tier
uint64_t, # cost
uint32_t, # lane
bool, # twoState
::mlir::ArrayAttr # effects
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
function |
|
|
block |
|
|
region |
|
an enum of type ComputeRegionKind |
action |
|
an enum of type ComputeActionKind |
tier |
|
an enum of type ComputeTierKind |
cost |
|
|
lane |
|
|
twoState |
|
|
effects |
|
ComputeFusionAttr¶
Syntax:
#schedule.fusion<
uint32_t, # id
::mlir::DenseI64ArrayAttr, # fragments
bool, # interleaved
bool # dataflow
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
fragments |
|
|
interleaved |
|
|
dataflow |
|
ComputeGraphAttr¶
Syntax:
#schedule.graph<
uint32_t, # version
::talos::schedule::ComputeVPIMode, # vpi
uint32_t, # workers
::mlir::ArrayAttr, # nodes
::mlir::ArrayAttr, # edges
::mlir::ArrayAttr # regions
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
version |
|
|
vpi |
|
an enum of type ComputeVPIMode |
workers |
|
|
nodes |
|
|
edges |
|
|
regions |
|
ComputeGroupAttr¶
Syntax:
#schedule.group<
::mlir::DenseI64ArrayAttr, # fragments
::talos::schedule::ComputeScheduleKind, # schedule
::mlir::ArrayAttr # feedback
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
fragments |
|
|
schedule |
|
an enum of type ComputeScheduleKind |
feedback |
|
ComputeKernelAttr¶
Syntax:
#schedule.kernel<
uint32_t, # id
::talos::schedule::ComputeRegionKind, # region
::talos::schedule::ComputeScheduleKind, # schedule
uint32_t, # lane
uint64_t, # cost
bool, # loweringReady
::mlir::DenseI64ArrayAttr # fragments
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
region |
|
an enum of type ComputeRegionKind |
schedule |
|
an enum of type ComputeScheduleKind |
lane |
|
|
cost |
|
|
loweringReady |
|
|
fragments |
|
ComputeNBACommitAttr¶
Syntax:
#schedule.nba_commit<
uint32_t, # id
::mlir::DenseI64ArrayAttr, # slots
::mlir::DenseI64ArrayAttr, # accumulatorSites
::mlir::DenseI64ArrayAttr, # frontierSites
::talos::schedule::ComputeEffectAttr # effect
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
slots |
|
|
accumulatorSites |
|
|
frontierSites |
|
|
effect |
|
ComputeRegionAttr¶
Syntax:
#schedule.region<
::talos::schedule::ComputeRegionKind, # kind
::mlir::ArrayAttr # groups
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
kind |
|
an enum of type ComputeRegionKind |
groups |
|
ContinuationSiteAttr¶
Syntax:
#schedule.continuation<
uint32_t # id
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
EventSiteAttr¶
Syntax:
#schedule.event_site<
uint64_t, # id
uint32_t, # commit
::talos::schedule::TimingSiteAttr # timing
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
commit |
|
|
timing |
|
FragmentABIAttr¶
Syntax:
#schedule.fragment_abi<
uint32_t, # version
::mlir::DenseI64ArrayAttr # fragments
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
version |
|
|
fragments |
|
InductiveRootAttr¶
Syntax:
#schedule.inductive_root<
::talos::schedule::ComputeResourceKind, # resource
uint64_t # descriptor
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
resource |
|
an enum of type ComputeResourceKind |
descriptor |
|
KernelIngressAttr¶
Syntax:
#schedule.kernel_ingress<
uint32_t, # clock
uint32_t, # owner
uint32_t, # bit
uint32_t # fragment
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
clock |
|
|
owner |
|
|
bit |
|
|
fragment |
|
MergedFragmentAttr¶
Syntax:
#schedule.merged_fragment<
uint32_t, # id
uint32_t, # owner
uint32_t, # bit
bool, # shared
bool, # loweringReady
::mlir::DenseI64ArrayAttr # fragments
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
owner |
|
|
bit |
|
|
shared |
|
|
loweringReady |
|
|
fragments |
|
NBASiteAttr¶
Syntax:
#schedule.nba_site<
uint64_t, # id
uint32_t, # commit
::talos::schedule::ComputeNBAStorageKind, # storage
::talos::schedule::TimingSiteAttr # timing
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
commit |
|
|
storage |
|
an enum of type ComputeNBAStorageKind |
timing |
|
PhysicalTriggerAttr¶
Syntax:
#schedule.physical_trigger<
::talos::schedule::ComputeResourceKind, # resource
uint64_t, # descriptor
uint64_t, # low
uint64_t, # width
::talos::schedule::ComputeTriggerKind # edge
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
resource |
|
an enum of type ComputeResourceKind |
descriptor |
|
|
low |
|
|
width |
|
|
edge |
|
an enum of type ComputeTriggerKind |
ScheduledKernelAttr¶
Syntax:
#schedule.scheduled_kernel<
uint32_t, # id
uint32_t, # owner
uint32_t, # readyBit
::talos::schedule::SchedulerTierKind, # tier
::talos::schedule::ComputeRegionKind, # region
::talos::schedule::ComputeScheduleKind, # schedule
bool, # shared
bool, # loweringReady
bool, # twoStateEligible
::mlir::ArrayAttr, # promotionRoots
::mlir::DenseI64ArrayAttr # fragments
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
owner |
|
|
readyBit |
|
|
tier |
|
an enum of type SchedulerTierKind |
region |
|
an enum of type ComputeRegionKind |
schedule |
|
an enum of type ComputeScheduleKind |
shared |
|
|
loweringReady |
|
|
twoStateEligible |
|
|
promotionRoots |
|
|
fragments |
|
ScheduledRootAttr¶
Syntax:
#schedule.scheduled_root<
::talos::schedule::ComputeResourceKind, # resource
uint64_t, # descriptor
uint64_t, # low
uint64_t, # width
uint32_t, # owner
::talos::schedule::SchedulerTierKind # tier
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
resource |
|
an enum of type ComputeResourceKind |
descriptor |
|
|
low |
|
|
width |
|
|
owner |
|
|
tier |
|
an enum of type SchedulerTierKind |
SchedulerIngressAttr¶
Syntax:
#schedule.scheduler_ingress<
uint32_t, # trigger
uint32_t, # owner
uint32_t, # readyBit
uint32_t # fragment
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
trigger |
|
|
owner |
|
|
readyBit |
|
|
fragment |
|
StaticActorRootAttr¶
One actor’s dependency on a fixed packed root
Syntax:
#schedule.static_actor_root<
::mlir::FlatSymbolRefAttr, # function
uint64_t, # descriptor
bool, # read
bool # write
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
function |
|
|
descriptor |
|
|
read |
|
|
write |
|
StaticSpecializationAttr¶
Revision-coupled direct-state and fixed-root NBA plan
Syntax:
#schedule.static_specialization<
uint32_t, # version
uint32_t, # maxPackedWidth
::talos::schedule::ComputeGraphAttr, # sourceGraph
::mlir::ArrayAttr, # roots
::mlir::ArrayAttr, # actorRoots
::mlir::DenseI64ArrayAttr # nbaRoots
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
version |
|
|
maxPackedWidth |
|
|
sourceGraph |
|
|
roots |
|
|
actorRoots |
|
|
nbaRoots |
|
StaticStateRootAttr¶
One fixed storage root selected for static specialization
Syntax:
#schedule.static_state_root<
uint64_t, # descriptor
uint32_t, # width
bool, # direct
bool, # guarded
bool # nba
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
descriptor |
|
|
width |
|
|
direct |
|
|
guarded |
|
|
nba |
|
StaticSuperstepAttr¶
Verified-graph fixed-actor clean AOT superstep candidate
Syntax:
#schedule.static_superstep<
uint32_t, # version
::talos::schedule::ComputeGraphAttr, # sourceGraph
::mlir::ArrayAttr # actors
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
version |
|
|
sourceGraph |
|
|
actors |
|
ThreeTierScheduleAttr¶
Exclusive physical-trigger and fine-kernel ownership plan
Syntax:
#schedule.three_tier_schedule<
uint32_t, # version
::talos::schedule::ComputeGraphAttr, # sourceGraph
uint32_t, # ownerCount
::mlir::ArrayAttr, # triggers
::mlir::ArrayAttr, # kernels
::mlir::ArrayAttr, # roots
::mlir::ArrayAttr # ingress
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
version |
|
|
sourceGraph |
|
|
ownerCount |
|
|
triggers |
|
|
kernels |
|
|
roots |
|
|
ingress |
|
TimingSiteAttr¶
Syntax:
#schedule.timing_site<
uint64_t, # id
::talos::schedule::ComputeTimingKind # kind
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
kind |
|
an enum of type ComputeTimingKind |
TriggerGroupAttr¶
Syntax:
#schedule.trigger_group<
uint32_t, # id
::talos::schedule::PhysicalTriggerAttr # key
>
Parameters:¶
Parameter |
C++ type |
Description |
|---|---|---|
id |
|
|
key |
|
Enums¶
AssertionControlAction¶
Simulation assertion control action
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Lock |
|
lock |
Unlock |
|
unlock |
On |
|
on |
Off |
|
off |
Kill |
|
kill |
PassOn |
|
pass_on |
PassOff |
|
pass_off |
FailOn |
|
fail_on |
FailOff |
|
fail_off |
NonvacuousOn |
|
nonvacuous_on |
VacuousOff |
|
vacuous_off |
AssocKeyKind¶
Simulation assoc key kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Unsigned |
|
unsigned |
Signed |
|
signed |
String |
|
string |
Class |
|
class |
Process |
|
process |
Wildcard |
|
wildcard |
Element |
|
element |
AssocTraversalDirection¶
Simulation assoc traversal direction
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Forward |
|
forward |
Backward |
|
backward |
BinaryKind¶
Normalized four-state binary operation
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Add |
|
add |
Sub |
|
sub |
Mul |
|
mul |
UDiv |
|
udiv |
SDiv |
|
sdiv |
UMod |
|
umod |
SMod |
|
smod |
And |
|
and |
Or |
|
or |
Xor |
|
xor |
Xnor |
|
xnor |
BlockEventKind¶
Simulation block event kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Begin |
|
begin |
End |
|
end |
BooleanMinimizationScope¶
Minimized property operand
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Antecedent |
|
antecedent |
Consequent |
|
consequent |
Property |
|
property |
CaptureKind¶
Entry argument binding kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Context |
|
context |
Formal |
|
formal |
Value |
|
value |
Storage |
|
storage |
Net |
|
net |
Driver |
|
driver |
Event |
|
event |
CompareKind¶
Normalized comparison operation
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Eq |
|
eq |
Ne |
|
ne |
CaseEq |
|
case_eq |
CaseNe |
|
case_ne |
ULT |
|
ult |
ULE |
|
ule |
UGT |
|
ugt |
UGE |
|
uge |
SLT |
|
slt |
SLE |
|
sle |
SGT |
|
sgt |
SGE |
|
sge |
WildEq |
|
wild_eq |
WildNe |
|
wild_ne |
CaseZEq |
|
casez_eq |
CaseXZEq |
|
casexz_eq |
ComputeActionKind¶
Fragment terminal action
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Continue |
|
continue |
SuspendDelay |
|
suspend_delay |
SuspendChange |
|
suspend_change |
SuspendEdge |
|
suspend_edge |
SuspendAny |
|
suspend_any |
SuspendEvent |
|
suspend_event |
SuspendAwait |
|
suspend_await |
SuspendJoin |
|
suspend_join |
Terminate |
|
terminate |
TaskCall |
|
task_call |
SuspendChildren |
|
suspend_children |
SuspendObserve |
|
suspend_observe |
ProcessControl |
|
process_control |
SuspendMailbox |
|
suspend_mailbox |
SuspendSemaphore |
|
suspend_semaphore |
ComputeEdgeKind¶
Compute-graph edge kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
ProcessOrder |
|
process_order |
Resume |
|
resume |
Spawn |
|
spawn |
Sensitivity |
|
sensitivity |
NBAStage |
|
nba_stage |
NBAActivate |
|
nba_activate |
Conflict |
|
conflict |
DeferredStage |
|
deferred_stage |
DeferredActivate |
|
deferred_activate |
ComputeEffectKind¶
Compute-graph effect kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Read |
|
read |
Write |
|
write |
Drive |
|
drive |
Watch |
|
watch |
NBA |
|
nba |
Trigger |
|
trigger |
ComputeNBAStorageKind¶
Generated NBA staging policy
Cases:¶
Symbol |
Value |
String |
|---|---|---|
FixedSlot |
|
fixed_slot |
RootAccumulator |
|
root_accumulator |
DynamicFrontier |
|
dynamic_frontier |
ComputeObservabilityKind¶
VPI state observability
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Invisible |
|
invisible |
SafePoint |
|
safe_point |
ExternallyWritable |
|
externally_writable |
ComputeRegionKind¶
Simulation event-region kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Active |
|
active |
NBA |
|
nba |
Observed |
|
observed |
Reactive |
|
reactive |
Postponed |
|
postponed |
ComputeResourceKind¶
Compute-graph resource kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Unknown |
|
unknown |
Storage |
|
storage |
Net |
|
net |
Event |
|
event |
Local |
|
local |
ComputeScheduleKind¶
Compute-group execution mode
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Acyclic |
|
acyclic |
ControlLoop |
|
control_loop |
Convergence |
|
convergence |
ComputeTargetKind¶
Compute-effect target kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Unknown |
|
unknown |
Descriptor |
|
descriptor |
Formal |
|
formal |
Local |
|
local |
ComputeTierKind¶
Fragment implementation tier
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Native |
|
native |
Bytecode |
|
bytecode |
Generated |
|
generated |
ComputeTimingKind¶
Compiled timing-site kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Calendar |
|
calendar |
DeadlineSlot |
|
deadline_slot |
DelayedNBA |
|
delayed_nba |
DelayedEvent |
|
delayed_event |
ComputeTriggerKind¶
Compute-graph trigger kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
None |
|
none |
Change |
|
change |
Posedge |
|
posedge |
Negedge |
|
negedge |
Both |
|
both |
Event |
|
event |
ComputeVPIMode¶
VPI compilation mode
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Off |
|
off |
Read |
|
read |
Full |
|
full |
ContainerKind¶
Simulation container kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
DynamicArray |
|
dynamic_array |
Queue |
|
queue |
CoveragePointKind¶
Simulation coverage point kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Line |
|
line |
Assertion |
|
assertion |
CovergroupInstanceOptionKind¶
Functional-coverage option
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Weight |
|
weight |
Goal |
|
goal |
Comment |
|
comment |
AtLeast |
|
at_least |
MergeInstances |
|
merge_instances |
CrossNumPrintMissing |
|
cross_num_print_missing |
DistributeFirst |
|
distribute_first |
AutoBinMax |
|
auto_bin_max |
DetectOverlap |
|
detect_overlap |
PerInstance |
|
per_instance |
GetInstCoverage |
|
get_inst_coverage |
CrossRetainAutoBins |
|
cross_retain_auto_bins |
Name |
|
name |
DumpPortsAction¶
EVCD session control action
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Off |
|
off |
On |
|
on |
All |
|
all |
Flush |
|
flush |
Limit |
|
limit |
EdgeKind¶
Suspension edge kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Change |
|
change |
Posedge |
|
posedge |
Negedge |
|
negedge |
Both |
|
both |
ElementFlags¶
Simulation element flags
Cases:¶
Symbol |
Value |
String |
|---|---|---|
None |
|
none |
FourState |
|
four_state |
Signed |
|
signed |
ElementKind¶
Simulation element kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Bits |
|
bits |
Logic |
|
logic |
Real |
|
real |
ClassHandle |
|
class_handle |
String |
|
string |
ContainerHandle |
|
container_handle |
Aggregate |
|
aggregate |
Event |
|
event |
EntryKind¶
Simulation code-unit kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
RootInitializer |
|
root_initializer |
Initial |
|
initial |
Final |
|
final |
Always |
|
always |
AlwaysComb |
|
always_comb |
AlwaysFF |
|
always_ff |
AlwaysLatch |
|
always_latch |
Continuous |
|
continuous |
Function |
|
function |
PortInput |
|
port_input |
PortOutput |
|
port_output |
PortInitialize |
|
port_initialize |
Task |
|
task |
Fork |
|
fork |
Observer |
|
observer |
EventRegion¶
IEEE executable event-region queue
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Preponed |
|
preponed |
PreActive |
|
pre_active |
Active |
|
active |
Inactive |
|
inactive |
PreNBA |
|
pre_nba |
NBA |
|
nba |
PostNBA |
|
post_nba |
PreObserved |
|
pre_observed |
Observed |
|
observed |
PostObserved |
|
post_observed |
Reactive |
|
reactive |
ReInactive |
|
re_inactive |
PreReNBA |
|
pre_re_nba |
ReNBA |
|
re_nba |
PostReNBA |
|
post_re_nba |
PrePostponed |
|
pre_postponed |
Postponed |
|
postponed |
ExecutionDomain¶
Procedural scheduling domain
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Design |
|
design |
Program |
|
program |
FormalDirection¶
Subroutine formal argument direction
Cases:¶
Symbol |
Value |
String |
|---|---|---|
In |
|
in |
Out |
|
out |
InOut |
|
inout |
Ref |
|
ref |
IntegerExpressionKind¶
Integer return summary node
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Constant |
|
constant |
Argument |
|
argument |
Identity |
|
identity |
SExt |
|
sext |
ZExt |
|
zext |
Trunc |
|
trunc |
Add |
|
add |
Sub |
|
sub |
Mul |
|
mul |
And |
|
and |
Or |
|
or |
Xor |
|
xor |
JoinKind¶
Process join mode
Cases:¶
Symbol |
Value |
String |
|---|---|---|
All |
|
all |
Any |
|
any |
Lifetime¶
Simulation object lifetime
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Automatic |
|
automatic |
Static |
|
static |
Design |
|
design |
LogicalKind¶
Four-state logical operation
Cases:¶
Symbol |
Value |
String |
|---|---|---|
And |
|
and |
Or |
|
or |
MailboxWaitKind¶
Mailbox readiness predicate
Cases:¶
Symbol |
Value |
String |
|---|---|---|
NotEmpty |
|
not_empty |
NotFull |
|
not_full |
ManagedRootMode¶
Managed root classification
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Exact |
|
exact |
Candidate |
|
candidate |
ManagedWatchKind¶
Managed mutation dependency
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Field |
|
field |
ContainerSize |
|
container_size |
MemberVisibility¶
Class member visibility
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Public |
|
public |
Protected |
|
protected |
Local |
|
local |
NativeSchedulerMode¶
Native scheduling policy
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Auto |
|
auto |
Generic |
|
generic |
AOT |
|
aot |
Eval |
|
eval |
NetResolutionKind¶
Supported net resolution kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Wire |
|
wire |
Tri |
|
tri |
UWire |
|
uwire |
WAnd |
|
wand |
WOr |
|
wor |
Tri0 |
|
tri0 |
Tri1 |
|
tri1 |
Supply0 |
|
supply0 |
Supply1 |
|
supply1 |
TriReg |
|
trireg |
PortDirection¶
Elaborated module-port direction
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Input |
|
input |
Output |
|
output |
InOut |
|
inout |
ProcessControlKind¶
Process object control kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Kill |
|
kill |
Suspend |
|
suspend |
Resume |
|
resume |
Radix¶
Simulation radix
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Binary |
|
binary |
Octal |
|
octal |
Decimal |
|
decimal |
Hex |
|
hex |
RandomConstraintBlockReferenceKind¶
Constraint template mode-state root
Cases:¶
Symbol |
Value |
String |
|---|---|---|
ObjectBlock |
|
object_block |
Storage |
|
storage |
RandomDistribution¶
Simulation random distribution
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Uniform |
|
uniform |
Normal |
|
normal |
Exponential |
|
exponential |
Poisson |
|
poisson |
ChiSquare |
|
chi_square |
T |
|
t |
Erlang |
|
erlang |
RandomValueReferenceKind¶
Symbolic random-constraint value root
Cases:¶
Symbol |
Value |
String |
|---|---|---|
ObjectField |
|
object_field |
Storage |
|
storage |
RandomVariableKind¶
Direct packed random class-property kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Rand |
|
rand |
RandC |
|
randc |
ReductionKind¶
Normalized four-state reduction
Cases:¶
Symbol |
Value |
String |
|---|---|---|
And |
|
and |
Or |
|
or |
Xor |
|
xor |
Nand |
|
nand |
Nor |
|
nor |
Xnor |
|
xnor |
SchedulerTierKind¶
Generated scheduler ownership tier
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Tier1 |
|
tier1 |
Tier2 |
|
tier2 |
Tier3 |
|
tier3 |
ShiftKind¶
Four-state shift operation
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Left |
|
left |
Right |
|
right |
RightArith |
|
right_arith |
StochasticQueueAction¶
Simulation stochastic queue action
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Initialize |
|
initialize |
Add |
|
add |
Remove |
|
remove |
Full |
|
full |
Exam |
|
exam |
Strength¶
Signal strength scale position
Cases:¶
Symbol |
Value |
String |
|---|---|---|
HighZ |
|
highz |
Small |
|
small |
Medium |
|
medium |
Weak |
|
weak |
Large |
|
large |
Pull |
|
pull |
Strong |
|
strong |
Supply |
|
supply |
TimingPathConditionKind¶
Module path condition
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Unconditional |
|
none |
If |
|
if |
IfNone |
|
ifnone |
UnaryKind¶
Normalized four-state unary operation
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Plus |
|
plus |
Negate |
|
negate |
BitNot |
|
bit_not |
LogicalNot |
|
logical_not |
UnitArgumentKind¶
Frozen unit argument binding role
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Direct |
|
direct |
LValueOnly |
|
lvalue_only |
FormalLocal |
|
formal_local |
CopyOutDestination |
|
copy_out_destination |
VPIIODirection¶
Source IO-declaration direction
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Undefined |
|
undefined |
Input |
|
input |
Output |
|
output |
InOut |
|
inout |
Mixed |
|
mixed |
None |
|
none |
Ref |
|
ref |
VPIObjectBackingKind¶
Physical descriptor backing a VPI anchor
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Scope |
|
scope |
Class |
|
class |
CodeUnit |
|
code_unit |
Net |
|
net |
Storage |
|
storage |
VPIObjectRefKind¶
Stable VPI relation endpoint identity
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Statement |
|
statement |
Storage |
|
storage |
Net |
|
net |
NetIdentity |
|
net_identity |
Port |
|
port |
Symbol |
|
symbol |
DefinitionMember |
|
definition_member |
VPIRelationMode¶
VPI relation access mode
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Handle |
|
handle |
Iterate |
|
iterate |
VPIStatementSourceKind¶
VPI statement-relation source kind
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Scope |
|
scope |
CodeUnit |
|
code_unit |
Statement |
|
statement |
Anchor |
|
anchor |
VPITypeKind¶
Source-semantic VPI reflection type category
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Unknown |
|
unknown |
GenericIntegral |
|
generic_integral |
Bit |
|
bit |
Logic |
|
logic |
Reg |
|
reg |
Byte |
|
byte |
ShortInt |
|
shortint |
Int |
|
int |
LongInt |
|
longint |
Integer |
|
integer |
Enum |
|
enum |
Time |
|
time |
ShortReal |
|
shortreal |
Real |
|
real |
Realtime |
|
realtime |
String |
|
string |
Chandle |
|
chandle |
PackedArray |
|
packed_array |
UnpackedArray |
|
unpacked_array |
PackedStruct |
|
packed_struct |
UnpackedStruct |
|
unpacked_struct |
PackedUnion |
|
packed_union |
UnpackedUnion |
|
unpacked_union |
DynamicArray |
|
dynamic_array |
Queue |
|
queue |
AssocArray |
|
assoc_array |
Class |
|
class |
VirtualInterface |
|
virtual_interface |
Event |
|
event |
PackedOpenArray |
|
packed_open_array |
UnpackedOpenArray |
|
unpacked_open_array |
Process |
|
process |
Covergroup |
|
covergroup |
Mailbox |
|
mailbox |
Semaphore |
|
semaphore |
Void |
|
void |
Untyped |
|
untyped |
Sequence |
|
sequence |
Property |
|
property |
VPITypespecOrigin¶
VPI typespec inventory origin
Cases:¶
Symbol |
Value |
String |
|---|---|---|
Typedef |
|
typedef |
Interface |
|
interface |
AnonymousEnum |
|
anonymous_enum |
ClassSpecialization |
|
class_specialization |
BuiltinClass |
|
builtin_class |
SourceDefault |
|
source_default |