module Local_slevel: sig
.. end
val compute_sub_function : Kernel_function.t ->
Cil_types.stmt ->
Local_slevel_types.local_slevel_info ->
State_set.t -> Cvalue.Model.t * Base.SetLattice.t
val is_call_with_name : Cil_types.stmt -> string -> bool
val is_split_builtin_call : Cil_types.stmt -> bool
val is_merge_builtin_call : Cil_types.stmt -> bool
val optional_slevel : Cil_types.stmt -> int option
val get_id : Cil_types.stmt -> int
module Split_merge: Cil_datatype.Stmt.Map.Make
(
Datatype.Pair
(
Datatype.Option
(
Datatype.Int
)
)
(
Cil_datatype.Stmt.Hptset
)
)
module Kf_split_merge_map: sig
.. end
val get_split_merge : Kernel_function.Map.key ->
'a Cil_datatype.Stmt.Map.t Kernel_function.Map.t ->
'a Cil_datatype.Stmt.Map.t
module Api_kf_split_merge_map: State_builder.Ref
(
Kf_split_merge_map
)
(
sig
val name : string
val dependencies : State.t list
val default : unit -> 'a Kernel_function.Map.t
end
)
module Strict_mode: State_builder.Ref
(
Datatype.Bool
)
(
sig
val name : string
val dependencies : State.t list
val default : unit -> bool
end
)
val check_split_merges_for_kf : Kernel_function.t ->
bool -> ('a * Cil_datatype.Stmt.Hptset.t) Cil_datatype.Stmt.Map.t -> unit
val retrieve_inner_split_merges : Kernel_function.t -> Split_merge.t
val merge_split_merges : 'a Cil_datatype.Stmt.Map.t ->
'a Cil_datatype.Stmt.Map.t -> 'a Cil_datatype.Stmt.Map.t
val get_check_tuples_raw : Kernel_function.Map.key -> Split_merge.t
module Get_check_tuples_cache: Kernel_function.Make_Table
(
Split_merge
)
(
sig
val size : int
val name : string
val dependencies : State.t list
end
)
val get_check_tuples : Get_check_tuples_cache.key ->
Get_check_tuples_cache.data
val determine_mode : Get_check_tuples_cache.key ->
Cil_datatype.Stmt.Map.key ->
Local_slevel_types.local_slevel_info -> Local_slevel_types.mode