Module Compute


module Compute: sig .. end
Raises Db.PostdominatorsTypes.Top when the statement postdominators have not been computed ie neither the return statement is reachable, nor the statement is in a natural loop.

module DomKernel: Plugin.Register(sig
val name : string
val shortname : string
val help : string
end)
module DomSet: sig .. end
module Dom: Cil_state_builder.Inthash(DomSet)(sig
val name : string
val dependencies : State.t list
val size : int
val kind : [> `Correctness ]
end)
module DomComputer: sig .. end
module DomCompute: Dataflow.ForwardsDataFlow(DomComputer)
val compute_dom : Kernel_function.t -> unit
val get_stmt_dominators : Kernel_function.t -> Cil_types.stmt -> Dom.data
val stmt_dominators : Kernel_function.t -> Cil_types.stmt -> Cil_datatype.Stmt.Hptset.t
val is_dominator : Kernel_function.t ->
opening:Cil_datatype.Stmt.Hptset.elt -> closing:Cil_types.stmt -> bool
val display_dom : unit -> unit
module type MakePostDomArg = sig .. end
module MakePostDom: 
functor (X : MakePostDomArg) -> sig .. end
module PostDomDb: 
functor (X : MakePostDomArg) ->
functor (DbPostDom : Db.PostdominatorsTypes.Sig) -> sig .. end
module PostDomBasic: PostDomDb(sig
val is_accessible : 'a -> bool
val dependencies : 'a list
val name : string
val eval_cond : 'a -> 'b -> bool * bool
end)(Db.Postdominators)
val output : unit -> unit
module PostDomVal: PostDomDb(sig
val is_accessible : Cil_types.stmt -> bool
val dependencies : State.t list
val name : string
val eval_cond : Cil_types.stmt -> 'a -> bool * bool
end)(Db.PostdominatorsValue)