let select_func_calls_into set ~spare kf =
  assert (Db.Value.is_computed ());
  let kf_entry, _library = Globals.entry_point () in
  if (kf_entry == kf) then
    select_entry_point set ~spare kf  ~outputs:false
  else
    let callers = !Db.Value.callers kf in
    let select_calls (caller,_) acc =
      Kinstr.fold_from_func (fun set ki ->
                               if Kinstr.is_call_to ki kf then
                                 select_min_call set ~spare ki caller
                               else
                                 set) acc caller
    in List.fold_right select_calls callers set