module GenericValue: sig
.. end
type
t
GenericValue.t
is a boxed union type used to portably pass arguments to
and receive values from the execution engine. It supports only a limited
selection of types; for more complex argument types, it is necessary to
generate a stub function by hand or to pass parameters by reference.
See the struct llvm::GenericValue
.
val of_float : Llvm.lltype -> float -> t
of_float fpty n
boxes the float n
in a float-valued generic value
according to the floating point type fpty
. See the fields
llvm::GenericValue::DoubleVal
and llvm::GenericValue::FloatVal
.
val of_pointer : 'a -> t
of_pointer v
boxes the pointer value v
in a generic value. See the
field llvm::GenericValue::PointerVal
.
val of_int32 : Llvm.lltype -> int32 -> t
of_int32 n w
boxes the int32 i
in a generic value with the bitwidth
w
. See the field llvm::GenericValue::IntVal
.
val of_int : Llvm.lltype -> int -> t
of_int n w
boxes the int i
in a generic value with the bitwidth
w
. See the field llvm::GenericValue::IntVal
.
val of_nativeint : Llvm.lltype -> nativeint -> t
of_natint n w
boxes the native int i
in a generic value with the
bitwidth w
. See the field llvm::GenericValue::IntVal
.
val of_int64 : Llvm.lltype -> int64 -> t
of_int64 n w
boxes the int64 i
in a generic value with the bitwidth
w
. See the field llvm::GenericValue::IntVal
.
val as_float : Llvm.lltype -> t -> float
as_float fpty gv
unboxes the floating point-valued generic value gv
of
floating point type fpty
. See the fields llvm::GenericValue::DoubleVal
and llvm::GenericValue::FloatVal
.
val as_pointer : t -> 'a
as_pointer gv
unboxes the pointer-valued generic value gv
. See the
field llvm::GenericValue::PointerVal
.
val as_int32 : t -> int32
as_int32 gv
unboxes the integer-valued generic value gv
as an int32
.
Is invalid if gv
has a bitwidth greater than 32 bits. See the field
llvm::GenericValue::IntVal
.
val as_int : t -> int
as_int gv
unboxes the integer-valued generic value gv
as an int
.
Is invalid if gv
has a bitwidth greater than the host bit width (but the
most significant bit may be lost). See the field
llvm::GenericValue::IntVal
.
val as_nativeint : t -> nativeint
as_natint gv
unboxes the integer-valued generic value gv
as a
nativeint
. Is invalid if gv
has a bitwidth greater than
nativeint
. See the field llvm::GenericValue::IntVal
.
val as_int64 : t -> int64
as_int64 gv
returns the integer-valued generic value gv
as an int64
.
Is invalid if gv
has a bitwidth greater than int64
. See the field
llvm::GenericValue::IntVal
.