jon.recoil.org

Module Cmmgen_state

Mutable state used by Cmmgen.

type ustructured_constant =
  1. | Const_float32 of float
  2. | Const_float of float
  3. | Const_int32 of int32
  4. | Const_int64 of int64
  5. | Const_nativeint of nativeint
  6. | Const_vec128 of {
    1. word0 : int64;
    2. word1 : int64;
    }
  7. | Const_vec256 of {
    1. word0 : int64;
    2. word1 : int64;
    3. word2 : int64;
    4. word3 : int64;
    }
  8. | Const_vec512 of {
    1. word0 : int64;
    2. word1 : int64;
    3. word2 : int64;
    4. word3 : int64;
    5. word4 : int64;
    6. word5 : int64;
    7. word6 : int64;
    8. word7 : int64;
    }
  9. | Const_block of int * Cmmgen_state.uconstant list
  10. | Const_float_array of float list
  11. | Const_string of string
and uconstant =
  1. | Const_ref of string * Cmmgen_state.ustructured_constant option
  2. | Const_int of int
val compare_structured_constants : Cmmgen_state.ustructured_constant -> Cmmgen_state.ustructured_constant -> int
val compare_constants : Cmmgen_state.uconstant -> Cmmgen_state.uconstant -> int
type constant =
  1. | Const_table of Cmm.is_global * Cmm.data_item list
val add_constant : Misc.Stdlib.String.t -> Cmmgen_state.constant -> unit
val add_data_items : Cmm.data_item list -> unit
val get_and_clear_constants : unit -> Cmmgen_state.constant Misc.Stdlib.String.Map.t
val get_and_clear_data_items : unit -> Cmm.data_item list
val add_structured_constant : Cmm.symbol -> Cmmgen_state.ustructured_constant -> unit
val clear_local_structured_constants : unit -> unit
val add_global_structured_constant : string -> Cmmgen_state.ustructured_constant -> unit
val get_structured_constant : string -> (Cmm.is_global * Cmmgen_state.ustructured_constant) option
val structured_constant_of_sym : string -> Cmmgen_state.ustructured_constant option