jon.recoil.org

Module Llvm_ir.Value

Values in LLVM IR. These are the main operands to instructions. They consist of a type and something that inhabits that type (confusingly called value here...). The latter can be an immediate, an identifier, among other things.

type contents
type t
val get_type : t -> Type.t
val get_ident_exn : t -> Ident.t
val get_contents : t -> contents
val of_ident : typ:Type.t -> Ident.t -> t
val of_symbol : ?typ:Type.t -> string -> t
val of_int : ?typ:Type.t -> int -> t
val of_nativeint : ?typ:Type.t -> nativeint -> t
val of_float32_bits : int32 -> t
val of_float64_bits : int64 -> t
val of_float : typ:Type.t -> float -> t
val of_label : Label.t -> t
val of_string_constant : string -> t
val poison : Type.t -> t
val zeroinitializer : Type.t -> t
val imm : Type.t -> string -> t
val struct_constant : t list -> t
val blockaddress : func:Ident.t -> block:Ident.t -> t
val pp_contents : Format.formatter -> contents -> unit
val pp_t : Format.formatter -> t -> unit