Module Make.CFG

type t = TransferFunctions.CFG.t
type instrs_dir = TransferFunctions.CFG.instrs_dir
module Node : Absint.ProcCfg.Node with type t = TransferFunctions.CFG.Node.t and type id = TransferFunctions.CFG.Node.id and module IdMap = TransferFunctions.CFG.Node.IdMap and module IdSet = TransferFunctions.CFG.Node.IdSet
val instrs : Node.t -> instrs_dir IR.Instrs.t

get the instructions from a node

val fold_succs : t -> (Node.tNode.t'accum) IStdlib.IStd.Container.fold

fold over all successors (normal and exceptional)

val fold_preds : t -> (Node.tNode.t'accum) IStdlib.IStd.Container.fold

fold over all predecessors (normal and exceptional)

val fold_normal_succs : t -> (Node.tNode.t'accum) IStdlib.IStd.Container.fold

fold over non-exceptional successors

val fold_normal_preds : t -> (Node.tNode.t'accum) IStdlib.IStd.Container.fold

fold over non-exceptional predecessors

val fold_exceptional_succs : t -> (Node.tNode.t'accum) IStdlib.IStd.Container.fold

fold over exceptional successors

val fold_exceptional_preds : t -> (Node.tNode.t'accum) IStdlib.IStd.Container.fold

fold over exceptional predescessors

val start_node : t -> Node.t
val exit_node : t -> Node.t
val proc_desc : t -> IR.Procdesc.t
val fold_nodes : (tNode.t'accum) IStdlib.IStd.Container.fold
val from_pdesc : IR.Procdesc.t -> t
val is_loop_head : IR.Procdesc.t -> Node.t -> bool
val wto : t -> Node.t IR.WeakTopologicalOrder.Partition.t