CfgToolsmodule H = MyCFG.NodeHmodule NH = MyCFG.NodeHmodule NS : sig ... endval find_loop_heads_fun : (module MyCFG.CfgForward) -> Cil.fundec -> unit NH.tval find_backwards_reachable :
(module MyCFG.CfgBackward) ->
MyCFG.node ->
unit NH.tmodule SCC : sig ... endStrongly connected component.
val computeSCCs :
(module MyCFG.CfgBidir) ->
NH.key list ->
SCC.t list * SCC.t NH.tCompute strongly connected components (SCCs) of nodes in Cfg. Returns list of SCCs and a mapping from nodes to those SCCs.
val pretty_edges : unit -> ('a * Edge.t) list -> Pretty.docval createCFG :
Cil.file ->
((Cil.location * MyCFG.edge) list * NH.key) H.t
* ((Cil.location * MyCFG.edge) list * NH.key) H.tmodule type CfgPrinters = sig ... endmodule type NodeStyles = sig ... endmodule CfgPrinters (NodeStyles : NodeStyles) : sig ... endval fprint_dot :
(module CfgPrinters) ->
((MyCFG.node -> ((Cil.location * MyCFG.edge) list * MyCFG.node) -> unit) ->
'a) ->
out_channel ->
unitval fprint_hash_dot :
((Cil.location * MyCFG.edge) list * MyCFG.node) H.t ->
unitval generate_irpt_edges : (MyCFG.edge * MyCFG.node) H.t -> unitval iter_fd_edges :
(module MyCFG.CfgBackward) ->
CilType.Fundec.t ->
(MyCFG.node -> (MyCFG.edges * MyCFG.node) -> unit) ->
unitval fprint_fundec_html_dot :
(module MyCFG.CfgBidir) ->
(MyCFG.node -> bool) ->
CilType.Fundec.t ->
out_channel ->
unitval dead_code_cfg :
Cil.file ->
(module MyCFG.CfgBidir) ->
(MyCFG.node -> bool) ->
unitval getGlobalInits : Cil.file -> MyCFG.edges