Functor Eval_slevel.Computer

module Computer: 
functor (AnalysisParam : sig
val kf : Cil_types.kernel_function
val slevel : int
val initial_states : State_set.t
val active_behaviors : Eval_annots.ActiveBehaviors.t
val local_slevel_info : Local_slevel_types.local_slevel_info
end) -> sig .. end
Parameters:
AnalysisParam : sig val kf: kernel_function val slevel: int val initial_states : State_set.t val active_behaviors: Eval_annots.ActiveBehaviors.t val local_slevel_info : Local_slevel_types.local_slevel_info end

val debug : bool Pervasives.ref
val name : string
val current_kf : Cil_types.kernel_function
val current_fundec : Cil_types.fundec
val return : Cil_types.stmt
val return_lv : Cil_types.lval option
val stmt_can_reach : Value_util.StmtCanReachCache.data
val is_natural_loop : Cil_types.stmt -> bool
val obviously_terminates : Value_parameters.ObviouslyTerminatesAll.t
val slevel : int
val initial_state : Cvalue.Model.t
val current_table : Current_table.t
val states_after : Cvalue.Model.t Cil_datatype.Stmt.Hashtbl.t
val store_state_after_during_dataflow : Cil_types.stmt -> Cil_types.stmt -> bool
val local_after_states : Cvalue.Model.t Cil_datatype.Stmt.Hashtbl.t Lazy.t ->
Cvalue.Model.t Cil_datatype.Stmt.Hashtbl.t lazy_t
val merge_after : Cvalue.Model.t Cil_datatype.Stmt.Hashtbl.t Lazy.t ->
Db.Value.callstack -> unit
val conditions_table : int Cil_datatype.Stmt.Hashtbl.t
val merge_results : inform:bool -> Db.Value.Record_Value_After_Callbacks.result
type u = {
   counter_unroll :int;
   mutable value :State_set.t;
}
module StmtStartData: Dataflow.StartData(sig
type t = Eval_slevel.Computer.u 
val size : int
end)
type t = u 
val copy : t -> t
val display_one : Format.formatter -> u -> unit
val pretty : Format.formatter -> t -> unit
val computeFirstPredecessor : Cil_types.stmt -> u -> u
val counter_unroll_target : Value_parameters.ShowSlevel.t Pervasives.ref
val is_return : Cil_types.stmt -> bool
val combinePredecessors : Cil_types.stmt ->
old:u ->
u -> u option
val clob : Locals_scoping.clobbered_set
Clobbered list for bases containing addresses of local variables.
val cacheable : Value_types.cacheable Pervasives.ref
val interp_call : Cil_types.stmt ->
Cil_types.lval option ->
Cil_types.exp -> Cil_types.exp list -> State_set.t -> State_set.t
val doInstr : Cil_types.stmt ->
Cil_types.instr ->
t -> t Dataflow.action
val add_to_worklist : (Cil_datatype.Stmt.Hptset.elt -> unit) Pervasives.ref
val doStmtSpecific : Cil_types.stmt -> u -> State_set.t -> State_set.t
val ret_local_slevel : Cil_datatype.Stmt.Map.key ->
State_set.t -> 'a Dataflow.stmtaction -> 'a Dataflow.stmtaction
val doStmt : Cil_types.stmt ->
t -> u Dataflow.stmtaction
val doEdge : Cil_datatype.Stmt.Hashtbl.key ->
Cil_types.stmt -> u -> u
val filterStmt : 'a -> bool
val getStateSet : Cil_types.stmt -> State_set.t
val checkConvergence : unit -> unit
val final_states : unit -> State_set.t
val externalize : State_set.t -> (Cvalue.V_Offsetmap.t option * Cvalue.Model.t) list
val results : unit -> Value_types.call_result
val doGuardOneCond : Cil_types.stmt ->
CilE.syntactic_context ->
Cil_types.exp ->
u -> u Dataflow.guardaction
val mask_then : int
val mask_else : int
val mask_both : int
val doGuard : Cil_datatype.Stmt.Hashtbl.key ->
Cil_types.exp ->
u ->
u Dataflow.guardaction *
u Dataflow.guardaction