functor
(REACH : sig
val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
end) ->
sig
val name : string
val debug : bool Pervasives.ref
val current_stmt : Cil_types.kinstr Pervasives.ref
val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
val under_inputs_termination_no_depend : Locations.Zone.t Pervasives.ref
type t = Context.compute_t
module StmtStartData :
sig
type data = compute_t
val clear : unit -> unit
val mem : int -> bool
val find : int -> data
val replace : int -> data -> unit
val add : int -> data -> unit
val iter : (int -> data -> unit) -> unit
end
val display_one : Format.formatter -> int -> Db.InOutContext.t -> unit
val pretty : Format.formatter -> Context.compute_t -> unit
val display : Format.formatter -> Db.InOutContext.t Inthash.t -> unit
val copy : Context.Computer.t -> Context.Computer.t
val computeFirstPredecessor :
Cil_types.stmt -> Context.compute_t -> Context.compute_t
val combinePredecessors :
Cil_types.stmt ->
old:Context.compute_t -> Context.compute_t -> Context.compute_t option
val resolv_func_vinfo :
?deps:Locations.Zone.t ->
Cil_types.kinstr ->
Cil_types.exp ->
with_alarms:CilE.warn_mode ->
Locations.Zone.t * Db_types.kernel_function list
val doInstr :
'a ->
Cil_types.instr ->
Context.Computer.t -> Context.compute_t Dataflow.action
val doStmt :
Cil_types.stmt -> Context.Computer.t -> 'a Dataflow.stmtaction
val filterStmt : Cil_types.stmt -> bool
val doGuard : Cil_types.stmt -> 'a -> 'b -> 'c Dataflow.guardaction
val doEdge : 'a -> 'b -> 'c -> 'c
end