let backward_data_scope allstmts modif_stmts s =
  States.clear ();
  List.iter (fun s -> States.add s.sid State.NotSeen) allstmts;
  let modified s = SidSet.mem s.sid modif_stmts in
  States.replace s.sid State.Start;
  let stmts = s.preds in
  let module Computer = BackwardScope (struct let modified = modified endin
  let module Compute = Dataflow.BackwardsDataFlow(Computerin
  Compute.compute stmts