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