Enum OutputKind

Enum Documentation

enum class sequant::eval::OutputKind

The OrderedSchedule IR — an ordered tree of loop blocks and build steps. Purely data + a structural well_formed check; the sequencer and executor live elsewhere (ordered_executor.hpp).

OrderedSchedule threads builds and child loop blocks through a single ordered sequence (ScopeBlock::steps): a value built after a child block in that sequence may read the child block’s accumulated output, so relative order among steps is load-bearing, not incidental — unlike an unordered per-scope bag of homed values, which cannot express that dependence.

What happens to a value at the close of its home ScopeBlock.

Values:

enumerator Transient

the value’s home is this block; nothing carries out.

Note

a Transient value never appears in any block’s outputs list — it is realized purely as a plain BuildStep, and an explicit Transient outputs entry would double-produce it (violating well_formed's single-producer check). Do not scan outputs for Transient; it is the absence of an escape output, not a recorded one.

enumerator AccumulateSum

reduction: summed into an outer accumulator

enumerator AccumulateScatter

loop-carried: scattered into a disjoint outer slice