Function sequant::eval::detail::ordered_block_fully_skipped¶
Defined in File ordered_executor.hpp
Function Documentation¶
-
inline bool sequant::eval::detail::ordered_block_fully_skipped(CellRegistry const ®istry, container::vector<char> const &skip, ScopeBlock const &block, CellScope const &parent_scope)¶
Whether the skip set
skipcovers every productionblockrealizes — its ownBuildStepcells atparent_scope+block, every nested block’s productions (recursively), and theAssemblecell of each of its outputs atparent_scope. Such a block has nothing to do this visit: its results are all resident already and its whole batch loop is skipped. A production the table has no cell for is reported not skipped, so the block still runs and the step’s own lookup raises the table/schedule disagreement with its full diagnostic.skipis the visit’s skip set (the call-wide one plus theproduce_if_absentcells the registry currently holds, closed under the same consumer rule — seerun_ordered_contracted_block), so a block whose only output is a loop-invariant Assemble that is already assembled is skipped whole on the enclosing loop’s later batches, rather than re-running every step to feed an Assemble that will not be performed.