Function sequant::eval::build_release_plan

Function Documentation

inline ReleasePlan sequant::eval::build_release_plan(CellTable const &table, ScopeBlock const &root, container::svector<CellId> const &keep = {})

Derives the ReleasePlan of table on the schedule tree root it was built from. The cells in keep are never released (the schedule’s results, which the caller reads once the walk is over); neither are persistent cells, nor cells nothing in the table reads.

Throws:

Exception – when a cell’s scope or a reader’s place is not in the tree, i.e. the table and the schedule disagree