let get_jump_controled_stmts ctrl_dpds_infos jump =
  let lex_succ_graph, infos = ctrl_dpds_infos in
  let controled_stmts =
  try
    let lex_suc = Lexical_successors.find lex_succ_graph jump in
      Macros.debug 2 "lex_succ %d = %d" jump.sid lex_suc.sid;
    match jump.succs with
    | [label] ->
        Macros.debug 2 "jump succ %d = %d" jump.sid label.sid;
        if lex_suc.sid = label.sid
        then (* the label is the jump lexical successor : no dpds *)
          (Macros.debug 1 "useless jump %d" jump.sid;
          S.empty
          )
        else
            let pdb_jump_lex_suc = pd_b_but_not_a infos jump lex_suc in
            let pdb_lex_suc_label = pd_b_but_not_a infos lex_suc label in
            let pdb_lex_suc_label = S.remove lex_suc pdb_lex_suc_label in
            S.union pdb_jump_lex_suc pdb_lex_suc_label
    | _ -> assert false
  with Not_found ->
    if debug
    then Macros.debug 1 "lex_succ %d = (none)" jump.sid;
    (* no lexical successor : every postdom (jump) depend on jump. *)
    let _, pd_jump = (get_postdoms infos ~without:false jump) in
    S.remove jump pd_jump
  in
  Macros.debug 1 "controled_stmt for jump %d = %a"
      jump.sid S.pretty controled_stmts;
  let controled_stmt_list = S.elements controled_stmts in
    controled_stmt_list