functor (X : MakePostDomArg) (DbPostDom : Db.PostdominatorsTypes.Sig) ->
sig
module PostDom :
sig
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype :
sig
type t = MakePostDom(X).PostDom.Datatype.t
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code :
Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project : (Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
end
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type key = Cil_types.stmt
type data = DomSet.t
val replace : key -> data -> unit
val add : key -> data -> unit
val clear : unit -> unit
val length : unit -> int
val iter : (key -> data -> unit) -> unit
val iter_sorted :
?cmp:(key -> key -> int) -> (key -> data -> unit) -> unit
val fold : (key -> data -> 'a -> 'a) -> 'a -> 'a
val fold_sorted :
?cmp:(key -> key -> int) -> (key -> data -> 'a -> 'a) -> 'a -> 'a
val memo : ?change:(data -> data) -> (key -> data) -> key -> data
val find : key -> data
val find_all : key -> data list
val mem : key -> bool
val remove : key -> unit
end
module PostComputer :
sig
val name : string
val debug : bool
type t = DomSet.t
module StmtStartData = PostDom
val pretty : Format.formatter -> DomSet.t -> unit
val combineStmtStartData :
'a -> old:DomSet.t -> DomSet.t -> DomSet.t option
val combineSuccessors :
DomSet.domset -> DomSet.domset -> DomSet.domset
val doStmt :
Cil_datatype.Stmt.Hptset.elt -> DomSet.domset Dataflow2.action
val doInstr : 'a -> 'b -> 'c -> 'd Dataflow2.action
val filterIf : Cil_types.stmt -> Cil_datatype.Stmt.t -> bool
val filterStmt : Cil_types.stmt -> Cil_datatype.Stmt.t -> bool
val funcExitData : DomSet.domset
end
module PostCompute : sig val compute : Cil_types.stmt list -> unit end
val compute_postdom : Kernel_function.t -> unit
val get_stmt_postdominators :
Kernel_function.t -> PostDom.key -> PostDom.data
val stmt_postdominators :
Kernel_function.t -> PostDom.key -> Cil_datatype.Stmt.Hptset.t
val is_postdominator :
Kernel_function.t ->
opening:PostDom.key -> closing:Cil_datatype.Stmt.Hptset.elt -> bool
val display_postdom : unit -> unit
val print_dot_postdom : string -> Kernel_function.t -> unit
end