jon.recoil.org

Module Flambda2_to_cmm.To_cmm_shared

Helper functions and values for Flambda 2 to Cmm translation. Functions in this module, unlike the ones in Cmm_helpers, depend on Flambda 2 data types.

val remove_skipped_args : 'a list -> _ Flambda2_to_cmm.To_cmm_env.param_type list -> 'a list
val machtype_of_kinded_parameter : Flambda2_bound_identifiers.Bound_parameter.t -> Cmm.machtype

Create a constant int expression from a targetint.

The default behaviour is to use Flambda_features.Expert.inline_effects_in_cmm, which defaults to false if no command-line flag is given.

This function translates the Simple at the head of the list first. Regarding consider_inlining_effectful_expressions, see simple above.

module Update_kind : sig ... end
val check_arity : _ Flambda2_kinds.Flambda_arity.t -> _ list -> bool
val extended_machtype_of_return_arity : [ `Unarized ] Flambda2_kinds.Flambda_arity.t -> Cmm_helpers.Extended_machtype.t
val alloc_mode_for_applications_to_cmx : Flambda2_term_basics.Alloc_mode.For_applications.t -> Cmx_format.alloc_mode
val alloc_mode_for_allocations_to_cmm : Flambda2_term_basics.Alloc_mode.For_allocations.t -> Cmm.Alloc_mode.t