Module WeakTopologicalOrder.Iterator

Iterator module that traverses nodes in a weak topological order partition while tracking loop structure. For each edge (node -> succ), it identifies which loops are exited when moving from node to succ by checking if succ is outside the local scope of any enclosing loops.

Parameters

module CFG : PreProcCfg

Signature

val iter_nodes : CFG.Node.t Partition.t -> f: (node:CFG.Node.t -> succ:CFG.Node.t -> exited_loops:CFG.Node.id list -> unit) -> get_succs:(CFG.Node.t -> CFG.Node.t list) -> unit