let eliminate_additional table s =
let current_function = Stack.top call_stack in
(* Eliminate additional variables originating
from a branch closing at this statement. *)
Stmt.Map.fold
(fun k v (acc_set,acc_map,nb) ->
(* [JS 2010/09/23] now better to let the kernel displays a (better?)
backtrace. *)
(* try*)
if !Postdominators.is_postdominator
current_function
~opening:k
~closing:s
then acc_set,acc_map,nb
else
(Zone.join v acc_set),
(Stmt.Map.add k v acc_map),nb+1
(* with e ->
From_parameters.fatal "internal error 356: (%s)Open:%d Close:%d"
(Printexc.to_string e) k.sid s.sid*))
table
(Zone.bottom, Stmt.Map.empty,0)