module Compute: sig
.. end
Raises Db.Top_postdominators
when the statement postdominators
have not been computed ie neither the return statement is reachable,
nor the statement is in a natural loop.
module Parameters: Plugin.Register
(
sig
end
)
module DomSet: sig
.. end
module Dom: Cil_state_builder.Inthash
(
DomSet
)
(
sig
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.Set.t
val is_dominator : Kernel_function.t ->
opening:Cil_datatype.Stmt.Set.elt -> closing:Cil_types.stmt -> bool
val display_dom : unit -> unit
module PostDom: Cil_state_builder.Inthash
(
DomSet
)
(
sig
end
)
module PostComputer: sig
.. end
module PostCompute: Dataflow.BackwardsDataFlow
(
PostComputer
)
val compute_postdom : Kernel_function.t -> unit
val get_stmt_postdominators : Kernel_function.t -> Cil_types.stmt -> PostDom.data
val stmt_postdominators : Kernel_function.t -> Cil_types.stmt -> Cil_datatype.Stmt.Set.t
Raises Db.Top_postdominators
when the statement postdominators
have not been computed ie neither the return statement is reachable,
nor the statement is in a natural loop.
val is_postdominator : Kernel_function.t ->
opening:Cil_types.stmt -> closing:Cil_datatype.Stmt.Set.elt -> bool
val display_postdom : unit -> unit
val print_dot_postdom : string -> Kernel_function.t -> unit
val main : 'a -> unit