sig
type t
val create : Cil_types.kernel_function -> Build.??.t
val get_kf : Build.??.t -> Cil_types.kernel_function
val pretty : Format.formatter -> Build.??.t -> unit
type t_state
type t_arg_nodes
val get_states : Build.??.t -> Build.??.t_state Build.IH.t
val print_state : Format.formatter -> Build.??.t_state -> unit
val empty_state : Build.??.t_state
type t_loc = Locations.Zone.t
val process_declarations :
Build.??.t ->
formals:Cil_types.varinfo list ->
locals:Cil_types.varinfo list -> Build.??.t_state
val process_asgn :
Build.??.t ->
Build.??.t_state ->
Cil_types.stmt ->
l_loc:Build.??.t_loc ->
exact:bool ->
l_dpds:Build.??.t_loc ->
l_decl:Cil_datatype.Varinfo.Set.t ->
r_dpds:Build.??.t_loc ->
r_decl:Cil_datatype.Varinfo.Set.t -> Build.??.t_state
val process_skip :
Build.??.t ->
Build.??.t_state -> Cil_types.stmt -> Build.??.t_state option
val process_unreachable :
Build.??.t ->
Build.??.t_state -> Cil_types.stmt -> Build.??.t_state option
val process_unreachable_call :
Build.??.t ->
Build.??.t_state -> Cil_types.stmt -> Build.??.t_state option
val process_jump :
Build.??.t -> Cil_types.stmt -> bool * Cil_datatype.Stmt.Hptset.t -> unit
val process_block : Build.??.t -> Cil_types.stmt -> Cil_types.block -> unit
val process_entry_point : Build.??.t -> Cil_types.stmt list -> unit
val process_jump_with_exp :
Build.??.t ->
Cil_types.stmt ->
bool * Cil_datatype.Stmt.Hptset.t ->
Build.??.t_state -> Build.??.t_loc -> Cil_datatype.Varinfo.Set.t -> unit
val test_and_merge_states :
old:Build.??.t_state -> Build.??.t_state -> bool * Build.??.t_state
val process_call_node : Build.??.t -> Cil_types.stmt -> unit
val process_call_args :
Build.??.t ->
Build.??.t_state ->
Cil_types.stmt ->
(Build.??.t_loc * Cil_datatype.Varinfo.Set.t) list ->
Build.??.t_arg_nodes
val process_call_params :
Build.??.t ->
Build.??.t_state ->
Cil_types.stmt ->
Cil_types.kernel_function -> Build.??.t_arg_nodes -> Build.??.t_state
val process_call_ouput :
Build.??.t ->
Build.??.t_state ->
Build.??.t_state ->
Cil_types.stmt ->
int ->
Build.??.t_loc ->
bool -> Build.??.t_loc -> Build.??.t_loc -> Build.??.t_state
val process_call_return :
Build.??.t ->
Build.??.t_state ->
Build.??.t_state ->
Cil_types.stmt ->
l_loc:Build.??.t_loc ->
exact:bool ->
l_dpds:Build.??.t_loc ->
l_decl:Cil_datatype.Varinfo.Set.t ->
r_dpds:Build.??.t_loc -> Build.??.t_loc -> Build.??.t_state
val add_retres :
Build.??.t ->
Build.??.t_state ->
Cil_types.stmt ->
Build.??.t_loc -> Cil_datatype.Varinfo.Set.t -> Build.??.t_state
val store_last_state : Build.??.t -> Build.??.t_state -> unit
val finalize_pdg : Build.??.t -> Function_Froms.t option -> PdgTypes.Pdg.t
end