module Print: sig .. end
s_postdom are s postdominators, including s.
We don't have to represent the relation between s and s.
And because the postdom relation is transitive, if p is in s_postdom,
we can remove p_postdom from s_postdom in order to have a clearer graph.
val pretty_stmt : Format.formatter -> Cil_types.stmt -> unit
module Printer: sig .. end
module PostdomGraph: Graph.Graphviz.Dot(Printer)
val get_postdom : Cil_types.kernel_function ->
Cil_datatype.Stmt.Hptset.t option Cil_datatype.Kinstr.Hashtbl.t ->
Cil_datatype.Stmt.Hptset.elt -> Cil_datatype.Stmt.Hptset.t
val reduce : Cil_types.kernel_function ->
Cil_datatype.Stmt.Hptset.t option Cil_datatype.Kinstr.Hashtbl.t ->
Cil_datatype.Stmt.Hptset.elt -> unit
s_postdom are s postdominators, including s.
We don't have to represent the relation between s and s.
And because the postdom relation is transitive, if p is in s_postdom,
we can remove p_postdom from s_postdom in order to have a clearer graph.
val build_reduced_graph : Cil_types.kernel_function ->
Cil_datatype.Stmt.Hptset.t option Cil_datatype.Kinstr.Hashtbl.t ->
Cil_datatype.Stmt.Hptset.elt list -> unit
val build_dot : string -> Kernel_function.t -> unit