jon.recoil.org

Module Llvm_ir.Type

Types in LLVM IR. These include both first-class types (like int or ptr) and non-first-class types (like labels or metadata)

type t =
  1. | Int of {
    1. width_in_bits : int;
    }
  2. | Ptr of {
    1. addrspace : string option;
    }
  3. | Float
  4. | Double
  5. | Struct of Llvm_ir.Type.t list
  6. | Array of {
    1. num_of_elems : int;
    2. elem_type : Llvm_ir.Type.t;
    }
  7. | Vector of {
    1. num_of_elems : int;
    2. elem_type : Llvm_ir.Type.t;
    }
  8. | Label
  9. | Token
  10. | Metadata
val i128 : Llvm_ir.Type.t
val i64 : Llvm_ir.Type.t
val i32 : Llvm_ir.Type.t
val i16 : Llvm_ir.Type.t
val float : Llvm_ir.Type.t
val double : Llvm_ir.Type.t
val ptr : Llvm_ir.Type.t
val val_ptr : Llvm_ir.Type.t
val doublex2 : Llvm_ir.Type.t
val label : Llvm_ir.Type.t
val metadata : Llvm_ir.Type.t
val _token : Llvm_ir.Type.t
val of_machtype_component : Cmm.machtype_component -> Llvm_ir.Type.t
val of_reg : Reg.t -> Llvm_ir.Type.t
val of_float_width : Cmm.float_width -> Llvm_ir.Type.t
val to_string : Llvm_ir.Type.t -> string
val equal : Llvm_ir.Type.t -> Llvm_ir.Type.t -> bool
val get_struct_elements : Llvm_ir.Type.t -> Llvm_ir.Type.t list option
val extract_struct : Llvm_ir.Type.t -> int list -> Llvm_ir.Type.t option
val elem_type : Llvm_ir.Type.t -> Llvm_ir.Type.t option
val is_ptr : Llvm_ir.Type.t -> bool
val is_int : Llvm_ir.Type.t -> bool
val is_floating_point : Llvm_ir.Type.t -> bool
module Or_void : sig ... end