Template Function sequant::eval::detail::make_cell_table_inputs

Function Documentation

template<typename Resolve, typename IsVolatile>
CellTableInputs sequant::eval::detail::make_cell_table_inputs(OrderedSchedule const &ordered, RichSchedule const &rich, SlicedModeAssignment const &sma, Resolve const &resolve, IsVolatile const &is_volatile)

Assembles the CellTableInputs the cell table builder needs from what run_ordered_schedule_pre_results already has in hand: the finished schedule (ordered, rich), the seam it derives the per-occurrence slicing facts from (sma), the value-id -> forest-node accessor every homing site in this file already uses (resolve), and the node-level volatility predicate (is_volatile, possibly empty). operands_of is built here from the value’s own production tree (its canonical node’s two children, resolved back to value ids via a hash -> value-id map built once) so a value contracted with itself contributes one operand entry per leg, matching the runtime’s own per-leg home accesses (see CellTableInputs::operands_of's own note on why the de-duplicated dependency graph cannot express that).