method vinst i =
if Value.is_reachable (Value.noassert_get_state self#current_kinstr) then
(* noassert needed for Eval.memoize. Not really satisfactory *)
begin
match i with
| Set (lv,_,_) -> self#do_assign lv
| Call (lv_opt,exp,_,_) ->
(match lv_opt with None -> ()
| Some lv -> self#do_assign lv);
let _, callees =
!Value.expr_to_kernel_function
~with_alarms:CilE.warn_none_mode
~deps:None
self#current_kinstr
exp
in
Kernel_function.Hptset.iter
(fun kf -> self#join (self#compute_kf kf)) callees
| _ -> ()
end;
Cil.SkipChildren