Module Flambda2_to_cmm.To_cmm_set_of_closures
Translation of sets of closures to Cmm.
val let_static_set_of_closures :
Flambda2_to_cmm.To_cmm_env.t ->
Flambda2_to_cmm.To_cmm_result.t ->
Flambda2_identifiers.Symbol.t Flambda2_identifiers.Function_slot.Map.t ->
Flambda2_terms.Flambda.Import.Set_of_closures.t ->
prev_updates:Flambda2_to_cmm.To_cmm_env.expr_with_info option ->
Flambda2_to_cmm.To_cmm_env.t
* Flambda2_to_cmm.To_cmm_result.t
* Cmm.data_item list
* Flambda2_to_cmm.To_cmm_env.expr_with_info optionval let_dynamic_set_of_closures :
Flambda2_to_cmm.To_cmm_env.t ->
Flambda2_to_cmm.To_cmm_result.t ->
body:Flambda2_terms.Flambda.Import.Expr.t ->
bound_vars:Flambda2_bound_identifiers.Bound_var.t list ->
num_normal_occurrences_of_bound_vars:
Flambda2_nominal.Num_occurrences.t Flambda2_identifiers.Variable.Map.t ->
Flambda2_terms.Flambda.Import.Set_of_closures.t ->
translate_expr:Flambda2_to_cmm.To_cmm_set_of_closures.translate_expr ->
Cmm.expression
* Flambda2_to_cmm.To_cmm_env.free_vars
* Flambda2_to_cmm.To_cmm_env.Symbol_inits.t
* Flambda2_to_cmm.To_cmm_result.tval params_and_body :
Flambda2_to_cmm.To_cmm_env.t ->
Flambda2_to_cmm.To_cmm_result.t ->
Flambda2_identifiers.Code_id.t ->
Flambda2_terms.Flambda.Import.Function_params_and_body.t ->
result_arity:[ `Unarized ] Flambda2_kinds.Flambda_arity.t ->
fun_dbg:Debuginfo.t ->
zero_alloc_attribute:Flambda2_terms.Zero_alloc_attribute.t ->
translate_expr:Flambda2_to_cmm.To_cmm_set_of_closures.translate_expr ->
Cmm.fundecl * Flambda2_to_cmm.To_cmm_result.t