Module Emitaux

val output_channel : out_channel ref
val emit_string : string -> unit
val emit_int : int -> unit
val emit_nativeint : nativeint -> unit
val emit_int32 : int32 -> unit
val emit_symbol : string -> unit
val emit_printf : ('a, out_channel, unit) format -> 'a
val emit_char : char -> unit
val emit_string_literal : string -> unit
val emit_string_directive : string -> string -> unit
val emit_bytes_directive : string -> string -> unit
val emit_float64_directive : string -> int64 -> unit
val emit_float64_split_directive : string -> int64 -> unit
val emit_float32_directive : string -> int32 -> unit
val reset : unit -> unit
val reset_debug_info : unit -> unit
val emit_debug_info : Debuginfo.t -> unit
val emit_debug_info_gen : Debuginfo.t -> (file_num:int -> file_name:string -> unit) -> (file_num:int -> line:int -> col:int -> unit) -> unit
type frame_debuginfo =
  1. | Dbg_alloc of Debuginfo.alloc_dbginfo
  2. | Dbg_raise of Debuginfo.t
  3. | Dbg_other of Debuginfo.t
val record_frame_descr : label:int -> frame_size:int -> live_offset:int list -> frame_debuginfo -> unit
type emit_frame_actions = {
  1. efa_code_label : int -> unit;
  2. efa_data_label : int -> unit;
  3. efa_8 : int -> unit;
  4. efa_16 : int -> unit;
  5. efa_32 : int32 -> unit;
  6. efa_word : int -> unit;
  7. efa_align : int -> unit;
  8. efa_label_rel : int -> int32 -> unit;
  9. efa_def_label : int -> unit;
  10. efa_string : string -> unit;
}
val emit_frames : emit_frame_actions -> unit
val is_generic_function : string -> bool
val cfi_startproc : unit -> unit
val cfi_endproc : unit -> unit
val cfi_adjust_cfa_offset : int -> unit
val cfi_offset : reg:int -> offset:int -> unit
val cfi_def_cfa_offset : int -> unit
val cfi_remember_state : unit -> unit
val cfi_restore_state : unit -> unit
val cfi_def_cfa_register : reg:int -> unit
val binary_backend_available : bool ref

Is a binary backend available. If yes, we don't need to generate the textual assembly file (unless the user request it with -S).

val create_asm_file : bool ref

Are we actually generating the textual assembly file?

type error =
  1. | Stack_frame_too_large of int
exception Error of error
val report_error : Stdlib.Format.formatter -> error -> unit
type preproc_stack_check_result = {
  1. max_frame_size : int;
  2. contains_nontail_calls : bool;
}
val preproc_stack_check : fun_body:Linear.instruction -> frame_size:int -> trap_size:int -> preproc_stack_check_result