let add_edges_before cfg src set e_after =
let rec add_preds set e =
let e_src = edge_src e in
if CFG.V.compare src e_src = 0 then set
else
let add_edge_and_preds e set =
if Eset.mem e set then set
else add_preds (Eset.add e set) e
in fold_pred_e add_edge_and_preds cfg e_src set
in add_preds set e_after