Module Scheduler.ReversePostorder
simple scheduler that visits CFG nodes in reverse postorder. fast/precise for straightline code and conditionals; not as good for loops (may visit nodes after a loop multiple times).
Parameters
Signature
module CFG = CFG
val schedule_succs : t -> CFG.Node.t -> t
schedule the successors of
node
val pop : t -> (CFG.Node.t * CFG.Node.id list * t) option
remove and return the node with the highest priority, the ids of its visited predecessors, and the new schedule