val to_reg :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.reg_t optionval to_regx :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.regx_t optionval to_xreg :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.xreg_t optionval to_rflag :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.rflag_t optionval asm_typed_reg_of_var :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_typed_reg Compiler_util.cexecval var_of_asm_typed_reg :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_typed_reg ->
Var0.Var.vartype ('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op) asm_gen_params = {agp_assemble_cond : Expr.instr_info ->
Fexpr.fexpr ->
('reg, 'regx, 'xreg, 'rflag, 'cond) Arch_decl.cond_t Compiler_util.cexec;agp_is_valid_address : ('reg, 'regx, 'xreg, 'rflag, 'cond)
Arch_decl.reg_address ->
bool;
}val reg_of_ovar :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.instr_info ->
Expr.var_i option ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.reg_t option Compiler_util.cexecval assemble_lea :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.instr_info ->
Lea.lea ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.reg_address)
Utils0.resultval assemble_lea_checked :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Expr.instr_info ->
Compiler_util.pp_error ->
Lea.lea ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.address)
Utils0.resultval addr_of_fexpr :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
Wsize.wsize ->
Fexpr.fexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.address)
Utils0.resultval xreg_of_var :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.instr_info ->
Expr.var_i ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg Compiler_util.cexecval assemble_word_load :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
Memory_model.aligned ->
Wsize.wsize ->
Fexpr.rexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg)
Utils0.resultval assemble_word :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Arch_decl.addr_kind ->
Var0.Var.var ->
Expr.instr_info ->
Wsize.wsize ->
Fexpr.rexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg)
Utils0.resultval arg_of_rexpr :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Arch_decl.addr_kind ->
Var0.Var.var ->
Expr.instr_info ->
Type.stype ->
Fexpr.rexpr ->
(Compiler_util.pp_error_loc, ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg)
Utils0.resultval is_implicit :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.implicit_arg ->
Fexpr.rexpr ->
boolval compile_arg :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
((('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) * Fexpr.rexpr) ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap Compiler_util.cexecval compile_args :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) list ->
Fexpr.rexpr list ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap ->
(Compiler_util.pp_error_loc,
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg nmap)
Utils0.resultval check_sopn_arg :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.rexpr ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) ->
boolval check_sopn_dest :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.rexpr ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) ->
boolval assemble_asm_op_aux :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_op_msb_t ->
Fexpr.lexpr list ->
Fexpr.rexpr list ->
(Compiler_util.pp_error_loc,
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list)
Utils0.resultval check_sopn_args :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.rexpr list ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) list ->
boolval check_sopn_dests :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list ->
Fexpr.lexpr list ->
(('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arg_desc * Type.stype) list ->
boolval check_arg_kind_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kind ->
boolval filter_arg_kinds_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kinds ->
(unit, Arch_decl.arg_kinds) Utils0.resultval filter_args_kinds_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
Arch_decl.args_kinds ->
Arch_decl.args_kinds optionval filter_i_args_kinds_no_imm :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Arch_decl.i_args_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
Arch_decl.i_args_kindsval enforce_imm_arg_kind :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kind ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg optionval enforce_imm_arg_kinds :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg ->
Arch_decl.arg_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg optionval enforce_imm_args_kinds :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
Arch_decl.args_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args optionval enforce_imm_i_args_kinds :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Arch_decl.i_args_kinds ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_args optionval assemble_asm_op :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_op_msb_t ->
Fexpr.lexpr list ->
Fexpr.rexpr list ->
(Compiler_util.pp_error_loc,
'a6 * ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list)
Utils0.resultval assemble_asm_args :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
((('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_op_msb_t * Fexpr.lexpr list)
* Fexpr.rexpr list) ->
(Compiler_util.pp_error_loc,
'a6 * ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list)
Utils0.resultval assemble_sopn :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Expr.instr_info ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Sopn.sopn ->
Fexpr.lexpr list ->
Fexpr.rexpr list ->
(Compiler_util.pp_error_loc,
('a6 * ('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_arg list) list)
Utils0.resultval assemble_i :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.linstr ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_i list Compiler_util.cexecval assemble_c :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.lcmd ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_i list Compiler_util.cexecval typed_reg_of_vari :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
Expr.var_i ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.asm_typed_reg Compiler_util.cexecval assemble_fd :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.calling_convention ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
Var0.Var.var ->
Var0.Var.var ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.lfundef ->
(Compiler_util.pp_error_loc,
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_fundef)
Utils0.resultval assemble_prog :
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.asm_extra ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.calling_convention ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) asm_gen_params ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6, 'a7) Arch_extra.extended_op Linear.lprog ->
('a1, 'a2, 'a3, 'a4, 'a5, 'a6) Arch_decl.asm_prog Compiler_util.cexecval ovm_i :
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.arch_decl ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_extra.arch_toIdent ->
('a1, 'a2, 'a3, 'a4, 'a5) Arch_decl.calling_convention ->
One_varmap.one_varmap_info