let update_at_label env label p =
if label = Clabels.Here then p (* nothing to do (subst Here by Here !) *)
else
begin
debug1 "[update_at_label] at %a" Clabels.pretty label;
let mem_here = mem_at env Clabels.Here in
let do_data d = match d with
| F.D1var (Some (vi, l), _) when l = label -> var_data mem_here vi
| _ -> d
in let p = F.subst_data_in_pred do_data p in
debug2 "[update_at_label] -> %a@." F.pp_pred p;
p
end