Functor From_register.Make.Computer


module Computer: 
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 .. end
Parameters:
REACH : sig val stmt_can_reach : stmt -> stmt -> bool val blocks_closed_by_edge: stmt -> stmt -> block list end

val empty_from : From_register.Make.t'
val name : string
val debug : bool Pervasives.ref
val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
type t = From_register.Make.t' 
module StmtStartData: Dataflow.StartData(sig
type t = From_register.Make.t' 
val size : 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
| Lvalue of Lmap_bitwise.From_Model.LOffset.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_register.Make.t' -> unit
val display_one_from_stmt : Format.formatter -> Cil_types.stmt -> From_register.Make.t' -> unit
val display_from : Format.formatter -> unit
val copy : t -> t
val pretty : Format.formatter -> 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_datatype.Stmt.Map.key -> From_register.Make.t' -> From_register.Make.t'
val combinePredecessors : Cil_datatype.Stmt.Map.key ->
old:From_register.Make.t' ->
From_register.Make.t' -> From_register.Make.t' option
val resolv_func_vinfo : ?deps:Locations.Zone.t ->
Cil_types.stmt ->
Cil_types.exp ->
with_alarms:CilE.warn_mode -> Locations.Zone.t * Kernel_function.Hptset.t
exception Ignore
val doInstr : Cil_datatype.Stmt.Hashtbl.key ->
Cil_types.instr ->
t -> From_register.Make.t' Dataflow.action
val doStmt : Cil_types.stmt -> t -> 'a Dataflow.stmtaction
val filterStmt : Cil_types.stmt -> bool
val externalize : Cil_types.stmt ->
Cil_types.kernel_function -> From_register.Make.t' -> Function_Froms.tt
val doGuard : Cil_types.stmt ->
Cil_types.exp -> 'a -> 'b Dataflow.guardaction * 'c Dataflow.guardaction
val doEdge : Cil_types.stmt ->
Cil_types.stmt -> From_register.Make.t' -> From_register.Make.t'