Module Cfg_selection
type addressing_expr = | Asymbol of Cmm.symbol| Alinear of Cmm.expression| Aadd of Cmm.expression * Cmm.expression| Ascale of Cmm.expression * int| Ascaledadd of Cmm.expression * Cmm.expression * int
val select_addr : Cmm.expression -> Cfg_selection.addressing_expr * intval rax : Reg.tval rcx : Reg.tval rdx : Reg.tval select_locality :
Cmm.prefetch_temporal_locality_hint ->
Arch.prefetch_temporal_locality_hintval select_bitwidth : Cmm.bswap_bitwidth -> Arch.bswap_bitwidthval is_immediate_natint : Stdlib.Nativeint.t -> boolval specific : Arch.specific_operation -> Cfg.basic_or_terminatorval pseudoregs_for_operation :
Operation.t ->
Reg.t array ->
Reg.t array ->
Reg.t array * Reg.t arrayval is_immediate :
Operation.integer_operation ->
int ->
Cfg_selectgen_target_intf.is_immediate_resultval is_immediate_test :
'a ->
int ->
Cfg_selectgen_target_intf.is_immediate_resultval is_simple_expr :
Cmm.expression ->
Cfg_selectgen_target_intf.is_simple_expr_resultval effects_of : Cmm.expression -> Cfg_selectgen_target_intf.effects_of_resultval select_addressing' :
Cmm.memory_chunk ->
Cmm.expression ->
Arch.addressing_mode * Cmm.expressionval select_addressing :
Cmm.memory_chunk ->
Cmm.expression ->
Arch.addressing_mode * Cmm.expressionval select_store' :
is_assign:bool ->
Arch.addressing_mode ->
Cmm.expression ->
Cfg_selectgen_target_intf.select_store_resultval select_store :
is_assign:bool ->
Arch.addressing_mode ->
Cmm.expression ->
Cfg_selectgen_target_intf.select_store_resultval is_store_out_of_range :
'a ->
byte_offset:'b ->
Cfg_selectgen_target_intf.is_store_out_of_range_resultval insert_move_extcall_arg :
'a ->
'b ->
'c ->
Cfg_selectgen_target_intf.insert_move_extcall_arg_resultval select_floatarith :
bool ->
Arch.float_width ->
Operation.float_operation ->
Arch.float_operation ->
Cmm.expression list ->
Cfg_selectgen_target_intf.select_operation_resultval select_operation' :
generic_select_condition:(Cmm.expression -> Operation.test * Cmm.expression) ->
Cmm.operation ->
Cmm.expression list ->
Debuginfo.t ->
label_after:'a ->
Cfg_selectgen_target_intf.select_operation_resultval select_operation :
generic_select_condition:(Cmm.expression -> Operation.test * Cmm.expression) ->
Cmm.operation ->
Cmm.expression list ->
Debuginfo.t ->
label_after:'a ->
Cfg_selectgen_target_intf.select_operation_resultval insert_op_debug' :
Select_utils.environment ->
Sub_cfg.t ->
Operation.t ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
Cfg_selectgen_target_intf.insert_op_debug_resultval insert_op_debug :
Select_utils.environment ->
Sub_cfg.t ->
Operation.t ->
Debuginfo.t ->
Reg.t array ->
Reg.t array ->
Cfg_selectgen_target_intf.insert_op_debug_result