Module Absint__ProcCfg.Normal
Forward CFG with no exceptional control-flow
type t
= IR.Procdesc.t
type instrs_dir
= IR.Instrs.not_reversed
module Node = DefaultNode
val instrs : Node.t -> instrs_dir IR.Instrs.t
get the instructions from a node
val fold_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
fold over all successors (normal and exceptional)
val fold_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
fold over all predecessors (normal and exceptional)
val fold_normal_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
fold over non-exceptional successors
val fold_normal_preds : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
fold over non-exceptional predecessors
val fold_exceptional_succs : t -> (Node.t, Node.t, 'accum) IStdlib.IStd.Container.fold
fold over exceptional successors
val fold_exceptional_preds : t -> (Node.t, Node.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 : (t, Node.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