let forward_caller kf node todolist =
    let pdg = !Pdg.get kf in
    List.fold_left
      (fun todolist (caller, callsites) ->
         (* foreach caller *)
         List.fold_left
           (fun todolist callsite ->
              let nodes =
                !Pdg.find_call_out_nodes_to_select
                  pdg [ node ] (!Pdg.get caller) callsite
              in
              List.fold_left
                (add_from_deep caller)
                todolist
                nodes)
           todolist
           callsites)
      todolist
      (!Value.callers kf)