let mark_visible_inputs _ff_marks to_prop =
(*
let pdg, _ = ff_marks in
let kf = M.get_pdg_kf pdg in
let param_list = Kernel_function.get_formals kf in
let rec check_in_params n params = match params with
| [] -> []
| _ :: params ->
let node = !Db.Pdg.find_input_node pdg n in
let dpds = !Db.Pdg.direct_dpds pdg node in
let get_n_mark n = get_mark ff_marks (PdgTypes.Node.elem_key n) in
let dpds_marks = List.map get_n_mark dpds in
let m = Marks.inter_marks dpds_marks in
let marks = check_in_params (n+1) params in
if not (Marks.is_bottom_mark m) then begin
SlicingKernel.debug ~level:2
"[Fct_Slice.FctMarks.mark_visible_inputs] %a -> %a"
(!Db.Pdg.pretty_node true) node Marks.pretty_mark m;
PdgMarks.add_node_to_select marks (node, None) m
end else
marks
in
let new_marks = check_in_params 1 param_list in
mark_and_propagate ff_marks ~to_prop new_marks
*)
to_prop