let used_var = UsedVarState.memo
(fun var ->
no_memoization_enabled () ||
try
let f = fst (Globals.entry_point ()) in
let inputs = !Db.Inputs.get_external f in
let outputs = !Db.Outputs.get_external f in
let b = Base.create_varinfo var in
Locations.Zone.mem_base b inputs || Locations.Zone.mem_base b outputs
with e ->
Gui_parameters.error ~once:true
"Exception during usability analysis of var %s: %s"
var.vname (Printexc.to_string e);
true (* No really sane value, so in doubt... *)
)