functor
(REACH : sig
val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
val blocks_closed_by_edge :
Cil_types.stmt -> Cil_types.stmt -> Cil_types.block list
end) ->
sig
val empty_from : From_compute.Make.t'
val bottom_from : From_compute.Make.t'
val name : string
val debug : bool Pervasives.ref
val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
type t = From_compute.Make.t'
module StmtStartData :
sig
type data = t'
val clear : unit -> unit
val mem : Cil_types.stmt -> bool
val find : Cil_types.stmt -> data
val replace : Cil_types.stmt -> data -> unit
val add : Cil_types.stmt -> data -> unit
val iter : (Cil_types.stmt -> data -> unit) -> unit
val length : unit -> int
end
val callwise_states_with_formals :
(Kernel_function.t * Lmap_bitwise.From_Model.t) list
Cil_datatype.Stmt.Hashtbl.t
type substit = Froms of Locations.Zone.t
val cached_substitute :
Lmap_bitwise.From_Model.t ->
Locations.Zone.t -> Locations.Zone.t -> Locations.Zone.t
val display_one_from : Format.formatter -> From_compute.Make.t' -> unit
val copy : From_compute.Make.Computer.t -> From_compute.Make.Computer.t
val pretty : Format.formatter -> From_compute.Make.Computer.t -> unit
val eliminate_additional :
Locations.Zone.t Cil_datatype.Stmt.Map.t ->
Cil_types.stmt ->
Locations.Zone.t * Locations.Zone.t Cil_datatype.Stmt.Map.t * int
val computeFirstPredecessor :
Cil_types.stmt -> From_compute.Make.t' -> From_compute.Make.t'
val combinePredecessors :
Cil_types.stmt ->
old:From_compute.Make.t' ->
From_compute.Make.t' -> From_compute.Make.t' option
val resolv_func_vinfo :
?deps:Locations.Zone.t ->
Cil_types.stmt ->
Cil_types.exp -> Locations.Zone.t * Kernel_function.Hptset.t
val doInstr :
Cil_datatype.Stmt.Hashtbl.key ->
Cil_types.instr ->
From_compute.Make.Computer.t -> From_compute.Make.t' Dataflow.action
val doStmt :
Cil_types.stmt -> From_compute.Make.t' -> 'a Dataflow.stmtaction
val filterStmt : Cil_types.stmt -> bool
val externalize :
Cil_types.stmt ->
Cil_types.kernel_function ->
From_compute.Make.t' -> Function_Froms.froms
val doGuard :
Cil_types.stmt ->
Cil_types.exp ->
'a -> 'b Dataflow.guardaction * 'c Dataflow.guardaction
val doEdge :
Cil_types.stmt ->
Cil_types.stmt -> From_compute.Make.t' -> From_compute.Make.t'
end