type machtype_component =| Val| Addr| Int| Floattype machtype = machtype_component array
val typ_void : machtypeval typ_val : machtypeval typ_addr : machtypeval typ_int : machtypeval typ_float : machtypeval size_component : machtype_component -> intval lub_component : machtype_component -> machtype_component -> machtype_componentLeast upper bound of two
machtype_components.
val ge_component : machtype_component -> machtype_component -> boolReturns
trueiff the first suppliedmachtype_componentis greater than or equal to the second under the relation used bylub_component.
val size_machtype : machtype -> int
type integer_comparison = Lambda.integer_comparison =| Ceq| Cne| Clt| Cgt| Cle| Cge
val negate_integer_comparison : integer_comparison -> integer_comparisonval swap_integer_comparison : integer_comparison -> integer_comparison
type float_comparison = Lambda.float_comparison =| CFeq| CFneq| CFlt| CFnlt| CFgt| CFngt| CFle| CFnle| CFge| CFnge
val negate_float_comparison : float_comparison -> float_comparisonval swap_float_comparison : float_comparison -> float_comparison
val new_label : unit -> label
type raise_kind =| Raise_withtrace| Raise_notracetype rec_flag =| Nonrecursive| Recursivetype phantom_defining_expr =| Cphantom_const_int of Targetint.tThe phantom-let-bound variable is a constant integer. The argument must be the tagged representation of an integer within the range of type
inton the target. (Analogously toCconst_int.)| Cphantom_const_symbol of stringThe phantom-let-bound variable is an alias for a symbol.
| Cphantom_var of Backend_var.tThe phantom-let-bound variable is an alias for another variable. The aliased variable must not be a bound by a phantom let.
| Cphantom_offset_var of {var : Backend_var.t;offset_in_words : int;}The phantom-let-bound-variable's value is defined by adding the given number of words to the pointer contained in the given identifier.
| Cphantom_read_field of {var : Backend_var.t;field : int;}The phantom-let-bound-variable's value is found by adding the given number of words to the pointer contained in the given identifier, then dereferencing.
| Cphantom_read_symbol_field of {sym : string;field : int;}As for
Uphantom_read_var_field, but with the pointer specified by a symbol.| Cphantom_block of {tag : int;fields : Backend_var.t list;}The phantom-let-bound variable points at a block with the given structure.
type memory_chunk =| Byte_unsigned| Byte_signed| Sixteen_unsigned| Sixteen_signed| Thirtytwo_unsigned| Thirtytwo_signed| Word_int| Word_val| Single| Double| Double_uand operation =| Capply of machtype| Cextcall of string * machtype * bool * label option| Cload of memory_chunk * Asttypes.mutable_flag| Calloc| Cstore of memory_chunk * Lambda.initialization_or_assignment| Caddi| Csubi| Cmuli| Cmulhi| Cdivi| Cmodi| Cand| Cor| Cxor| Clsl| Clsr| Casr| Ccmpi of integer_comparison| Caddv| Cadda| Ccmpa of integer_comparison| Cnegf| Cabsf| Caddf| Csubf| Cmulf| Cdivf| Cfloatofint| Cintoffloat| Ccmpf of float_comparison| Craise of raise_kind| Ccheckboundand expression =Every basic block should have a corresponding
Debuginfo.tfor its beginning.
type codegen_option =| Reduce_code_size| No_CSEtype fundecl = {fun_name : string;fun_args : (Backend_var.With_provenance.t * machtype) list;fun_body : expression;fun_codegen_options : codegen_option list;fun_dbg : Debuginfo.t;}type data_item =type phrase =| Cfunction of fundecl| Cdata of data_item list
val ccatch : (int * (Backend_var.With_provenance.t * machtype) list * expression * expression * Debuginfo.t) -> expressionval reset : unit -> unit