let used_var var =
try
UsedVarState.find var
with Not_found ->
let return v = UsedVarState.add var v; v in
try
let f = fst (Globals.entry_point ()) in
let inputs = !Db.Inputs.get_external f
and outputs = !Db.Outputs.get_external f in
let b = Base.create_varinfo var in
return (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);
return true