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.Stmt_hashtbl
(
DomSet
)
(
sig
val name : string
val dependencies : State.t list
val size : int
end
)
module DomComputer: sig
.. end
module DomCompute: Dataflow.Forwards
(
DomComputer
)
val compute_dom : Kernel_function.t -> unit
val get_stmt_dominators : Kernel_function.t -> Dom.key -> Dom.data
val stmt_dominators : Kernel_function.t -> Dom.key -> Cil_datatype.Stmt.Hptset.t
val is_dominator : Kernel_function.t ->
opening:Cil_datatype.Stmt.Hptset.elt -> closing:Dom.key -> bool
val display_dom : unit -> unit
module type MakePostDomArg = sig
.. end
module MakePostDom:
module PostDomDb:
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
)