sig
module Endian : sig type t = Big | Little end
module TargetData :
sig
type t
external create : string -> Llvm_target.TargetData.t
= "llvm_targetdata_create"
external add :
Llvm_target.TargetData.t ->
[< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
= "llvm_targetdata_add"
external as_string : Llvm_target.TargetData.t -> string
= "llvm_targetdata_as_string"
external dispose : Llvm_target.TargetData.t -> unit
= "llvm_targetdata_dispose"
end
external byte_order : Llvm_target.TargetData.t -> Llvm_target.Endian.t
= "llvm_byte_order"
external pointer_size : Llvm_target.TargetData.t -> int
= "llvm_pointer_size"
external intptr_type : Llvm_target.TargetData.t -> Llvm.lltype
= "LLVMIntPtrType"
external size_in_bits : Llvm_target.TargetData.t -> Llvm.lltype -> Int64.t
= "llvm_size_in_bits"
external store_size : Llvm_target.TargetData.t -> Llvm.lltype -> Int64.t
= "llvm_store_size"
external abi_size : Llvm_target.TargetData.t -> Llvm.lltype -> Int64.t
= "llvm_abi_size"
external abi_align : Llvm_target.TargetData.t -> Llvm.lltype -> int
= "llvm_abi_align"
external stack_align : Llvm_target.TargetData.t -> Llvm.lltype -> int
= "llvm_stack_align"
external preferred_align : Llvm_target.TargetData.t -> Llvm.lltype -> int
= "llvm_preferred_align"
external preferred_align_of_global :
Llvm_target.TargetData.t -> Llvm.llvalue -> int
= "llvm_preferred_align_of_global"
external element_at_offset :
Llvm_target.TargetData.t -> Llvm.lltype -> Int64.t -> int
= "llvm_element_at_offset"
external offset_of_element :
Llvm_target.TargetData.t -> Llvm.lltype -> int -> Int64.t
= "llvm_offset_of_element"
end