Struct OrderedSchedule

Struct Documentation

struct OrderedSchedule

The whole ordered schedule: the root block plus the total value count (every BuildStep::value_id and every ScopeBlock::outputs value_id is expected to be < num_values; see well_formed).

Public Members

ScopeBlock root = {}
std::size_t num_values = 0
std::unordered_map<std::size_t, container::svector<std::size_t>> operand_vids = {}

Per value_id, the value_ids of its direct operands &#8212; the value/ occurrence DAG edges the value-driven ordered executor consumes to fetch each operand by its own cell id (see CellTable / CellRegistry). Recorded here from ordered_schedule_dep_graph(rich).depends_on, whose edges come from every OccurrenceRec’s consumer_point (so split operands resolve to the specific consumed value, not an ambiguous node hash). A leaf value (no operands) has no entry.