Module Select_utils
module Int = Numbers.Intmodule V = Backend_varmodule VP = Backend_var.With_provenancetype environment = {vars : (Reg.t array * V.Provenance.t option * Asttypes.mutable_flag) V.Map.t;static_exceptions : static_handler Static_label.Map.t;trap_stack : Operation.trap_stack;tailrec_label : Label.t;
}val env_create : tailrec_label:Label.t -> environmentval env_add :
?mut:Asttypes.mutable_flag ->
VP.t ->
Reg.t array ->
environment ->
environmentval env_add_static_exception :
Static_label.t ->
Reg.t array list ->
environment ->
Label.t ->
environment * trap_stack_info refval env_find : V.Map.key -> environment -> Reg.t arrayval env_find_mut :
V.Map.key ->
environment ->
Reg.t array * Backend_var.Provenance.t optionval env_find_regs_for_exception_extra_args :
Cmm.trywith_shared_label ->
environment ->
Reg.t array listval env_find_static_exception : Static_label.t -> environment -> static_handlerval env_set_trap_stack : environment -> Operation.trap_stack -> environmentval print_traps : Format.formatter -> Operation.trap_stack -> unitval set_traps :
Lambda.static_label ->
trap_stack_info ref ->
Operation.trap_stack ->
Cmm.trap_action list ->
unitval set_traps_for_raise : environment -> unitval trap_stack_is_empty : environment -> boolval pop_all_traps : environment -> Cmm.trap_action listval select_mutable_flag : Asttypes.mutable_flag -> Operation.mutable_flagval oper_result_type : Cmm.operation -> Cmm.machtypeval size_expr : environment -> Cmm.expression -> intval current_function_name : string refval current_function_is_check_enabled : bool refmodule Effect : sig ... endmodule Coeffect : sig ... endmodule Effect_and_coeffect : sig ... endval select_effects : Cmm.effects -> Effect.tval select_coeffects : Cmm.coeffects -> 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 :
environment ->
Sub_cfg.t ->
Cfg.basic ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
unitval insert_op_debug_returning_id :
environment ->
Sub_cfg.t ->
Operation.t ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
InstructionId.tval insert :
environment ->
Sub_cfg.t ->
Cfg.basic ->
Reg.t array ->
Reg.t array ->
unitval insert' :
environment ->
Sub_cfg.t ->
Cfg.terminator ->
Reg.t array ->
Reg.t array ->
unitval insert_debug' :
environment ->
Sub_cfg.t ->
Cfg.terminator ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
unitval insert_op_debug' :
environment ->
Sub_cfg.t ->
Cfg.terminator ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
Reg.t arrayval insert_move : environment -> Sub_cfg.t -> Reg.t -> Reg.t -> unitval insert_moves :
environment ->
Sub_cfg.t ->
Reg.t array ->
Reg.t array ->
unitval insert_move_args :
environment ->
Sub_cfg.t ->
Reg.t array ->
Reg.t array ->
int ->
unitval insert_move_results :
environment ->
Sub_cfg.t ->
Reg.t array ->
Reg.t array ->
int ->
unitval maybe_emit_naming_op :
environment ->
Sub_cfg.t ->
bound_name:Backend_var.With_provenance.t option ->
Reg.t array ->
unitval join :
environment ->
Reg.t array Or_never_returns.t ->
Sub_cfg.t ->
Reg.t array Or_never_returns.t ->
Sub_cfg.t ->
bound_name:Backend_var.With_provenance.t option ->
Reg.t array Or_never_returns.tval join_array :
environment ->
(Reg.t array Or_never_returns.t * Sub_cfg.t) array ->
bound_name:Backend_var.With_provenance.t option ->
Reg.t array Or_never_returns.tval basic_op : Operation.t -> Cfg.basic_or_terminator