let call_out_marks_to_called called_pdg m2m ?(rqs=[]) out_marks =
let build rqs (out_key, m) =
let nodes, undef = Sets.find_output_nodes called_pdg out_key in
let sel =
List.map (fun (n, _z_opt) -> PdgMarks.mk_select_node ~z_opt:None n) nodes in
let sel = match undef with None -> sel
| Some undef -> (PdgMarks.mk_select_undef_zone undef)::sel
in
let add acc s = match m2m s m with
| None -> acc
| Some m -> (s, m)::acc
in
let rqs = List.fold_left add rqs sel in
rqs
in
List.fold_left build rqs out_marks