let add_caller ~caller:(caller_kf, call_site) kf =
let add m = Kernel_function.Map.add caller_kf (Stmt.Set.singleton call_site) m
in
let change m =
try
let call_sites = Kernel_function.Map.find caller_kf m in
Kernel_function.Map.add caller_kf (Stmt.Set.add call_site call_sites) m
with Not_found ->
add m
in
ignore (Callers.memo ~change (fun _kf -> add Kernel_function.Map.empty) kf)