Module Select_utils
module Int = Numbers.Intmodule V = Backend_varmodule VP = Backend_var.With_provenancetype static_handler = {regs : Reg.t array list;traps_ref : Select_utils.trap_stack_info Stdlib.ref;label : Label.t;
}type environment = {vars : (Reg.t array * V.Provenance.t option * Asttypes.mutable_flag) V.Map.t;static_exceptions : Select_utils.static_handler Static_label.Map.t;trap_stack : Operation.trap_stack;tailrec_label : Label.t;
}val env_create : tailrec_label:Label.t -> Select_utils.environmentval env_add :
?mut:Asttypes.mutable_flag ->
VP.t ->
Reg.t array ->
Select_utils.environment ->
Select_utils.environmentval env_add_static_exception :
Static_label.t ->
Reg.t array list ->
Select_utils.environment ->
Label.t ->
Select_utils.environment * Select_utils.trap_stack_info Stdlib.refval env_find : V.Map.key -> Select_utils.environment -> Reg.t arrayval env_find_mut :
V.Map.key ->
Select_utils.environment ->
Reg.t array * Backend_var.Provenance.t optionval env_find_regs_for_exception_extra_args :
Cmm.trywith_shared_label ->
Select_utils.environment ->
Reg.t array listval env_find_static_exception :
Static_label.t ->
Select_utils.environment ->
Select_utils.static_handlerval env_set_trap_stack :
Select_utils.environment ->
Operation.trap_stack ->
Select_utils.environmentval print_traps : Stdlib.Format.formatter -> Operation.trap_stack -> unitval set_traps :
Lambda.static_label ->
Select_utils.trap_stack_info Stdlib.ref ->
Operation.trap_stack ->
Cmm.trap_action list ->
unitval set_traps_for_raise : Select_utils.environment -> unitval trap_stack_is_empty : Select_utils.environment -> boolval pop_all_traps : Select_utils.environment -> Cmm.trap_action listval select_mutable_flag : Asttypes.mutable_flag -> Operation.mutable_flagval oper_result_type : Cmm.operation -> Cmm.machtypeval size_expr : Select_utils.environment -> Cmm.expression -> intval current_function_name : string Stdlib.refval current_function_is_check_enabled : bool Stdlib.refmodule Effect : sig ... endmodule Coeffect : sig ... endmodule Effect_and_coeffect : sig ... endval select_effects : Cmm.effects -> Select_utils.Effect.tval select_coeffects : Cmm.coeffects -> Select_utils.Coeffect.tmodule Or_never_returns : sig ... endval float_test_of_float_comparison :
Cmm.float_width ->
Scalar.Float_comparison.t ->
label_false:Label.t ->
label_true:Label.t ->
Cfg.float_testval int_test_of_integer_comparison :
Scalar.Integer_comparison.t ->
immediate:int option ->
label_false:Label.t ->
label_true:Label.t ->
Cfg.int_testval terminator_of_test :
Operation.test ->
label_false:Label.t ->
label_true:Label.t ->
Cfg.terminatormodule Stack_offset_and_exn : sig ... endval make_stack_offset : int -> Cfg.basicval make_name_for_debugger :
ident:Ident.t ->
which_parameter:int option ->
provenance:Backend_var.Provenance.t option ->
regs:Reg.t array ->
Cfg.basicval make_const_int : nativeint -> Operation.tval make_const_float32 : int32 -> Operation.tval make_const_float : int64 -> Operation.tval make_const_vec128 : Cmm.vec128_bits -> Operation.tval make_const_vec256 : Cmm.vec256_bits -> Operation.tval make_const_vec512 : Cmm.vec512_bits -> Operation.tval make_const_symbol : Cmm.symbol -> Operation.tval make_opaque : unit -> Operation.tval insert_debug :
Select_utils.environment ->
Sub_cfg.t ->
Cfg.basic ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
unitval insert_op_debug_returning_id :
Select_utils.environment ->
Sub_cfg.t ->
Operation.t ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
InstructionId.tval insert :
Select_utils.environment ->
Sub_cfg.t ->
Cfg.basic ->
Reg.t array ->
Reg.t array ->
unitval insert' :
Select_utils.environment ->
Sub_cfg.t ->
Cfg.terminator ->
Reg.t array ->
Reg.t array ->
unitval insert_debug' :
Select_utils.environment ->
Sub_cfg.t ->
Cfg.terminator ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
unitval insert_op_debug' :
Select_utils.environment ->
Sub_cfg.t ->
Cfg.terminator ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
Reg.t arrayval insert_move :
Select_utils.environment ->
Sub_cfg.t ->
Reg.t ->
Reg.t ->
unitval insert_moves :
Select_utils.environment ->
Sub_cfg.t ->
Reg.t array ->
Reg.t array ->
unitval insert_move_args :
Select_utils.environment ->
Sub_cfg.t ->
Reg.t array ->
Reg.t array ->
int ->
unitval insert_move_results :
Select_utils.environment ->
Sub_cfg.t ->
Reg.t array ->
Reg.t array ->
int ->
unitval maybe_emit_naming_op :
Select_utils.environment ->
Sub_cfg.t ->
bound_name:Backend_var.With_provenance.t option ->
Reg.t array ->
unitval join :
Select_utils.environment ->
Reg.t array Select_utils.Or_never_returns.t ->
Sub_cfg.t ->
Reg.t array Select_utils.Or_never_returns.t ->
Sub_cfg.t ->
bound_name:Backend_var.With_provenance.t option ->
Reg.t array Select_utils.Or_never_returns.tval join_array :
Select_utils.environment ->
(Reg.t array Select_utils.Or_never_returns.t * Sub_cfg.t) array ->
bound_name:Backend_var.With_provenance.t option ->
Reg.t array Select_utils.Or_never_returns.tval basic_op : Operation.t -> Cfg.basic_or_terminator