let process_loop_stmt pdg ctrl_dpds_infos loop =
  let _entry, back_edges = Stmts_graph.loop_preds loop in
    debug2 "[process_loop_stmt] for loop %d : back edges = {%a}@."
      loop.sid (Pretty_utils.pp_list Stmt.pretty_sid) back_edges;
  let controled_stmts = 
    CtrlDpds.get_loop_controled_stmts ctrl_dpds_infos loop
  in
  let real_loop = List.exists (Db.Value.is_reachable_stmt) back_edges in
    if not real_loop then
      debug "[process_loop_stmt] stmt %d is not a real loop@." loop.sid;
    BuildPdg.process_jump pdg loop (real_loop, controled_stmts)