Extract_projections
Identify projections from variables used in function bodies (free variables or specialised args, for example, according to which_variables
below). Projections from variables that are also used boxed are not returned.
val from_function_decl : env:Inline_and_simplify_aux.Env.t -> which_variables:Flambda.specialised_to Variable.Map.t -> function_decl:Flambda.function_declaration -> Projection.Set.t
which_variables
maps (existing) inner variables to (existing) outer variables in the manner of free_vars
and specialised_args
in Flambda.set_of_closures
.
The returned projections are projecting_from
(cf. projection.mli) the "existing inner vars".