let mark_to_prop_to_called_output _call called_pdg =
if PdgTypes.Pdg.is_top called_pdg then
begin
let kf = PdgTypes.Pdg.get_kf called_pdg in
called_top := kf :: !called_top;
debug 1 "memo call to TOP '%a'" Kernel_function.pretty kf;
(fun _ _ -> None)
end
else
fun _n m -> match m with
| true, M.Glob -> Some (true, M.Loc)
| true, M.Loc -> Some m
| _ -> fatal "cannot propagate invisible mark@."