aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/ocaml/target/target_ocaml.c
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/ocaml/target/target_ocaml.c')
-rw-r--r--bindings/ocaml/target/target_ocaml.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/bindings/ocaml/target/target_ocaml.c b/bindings/ocaml/target/target_ocaml.c
index 46bf8dc..5178c09 100644
--- a/bindings/ocaml/target/target_ocaml.c
+++ b/bindings/ocaml/target/target_ocaml.c
@@ -77,6 +77,17 @@ CAMLprim LLVMTypeRef llvm_intptr_type(value TD, LLVMContextRef C) {
return LLVMIntPtrTypeInContext(C, TargetData_val(TD));;
}
+/* DataLayout.t -> int -> int */
+CAMLprim value llvm_qualified_pointer_size(LLVMTargetDataRef TD, value AS) {
+ return Val_int(LLVMPointerSizeForAS(TargetData_val(TD), Int_val(AS)));
+}
+
+/* DataLayout.t -> int -> Llvm.lltype */
+CAMLprim LLVMTypeRef llvm_qualified_intptr_type(LLVMTargetDataRef TD,
+ LLVMContextRef C, value AS) {
+ return LLVMIntPtrTypeForASInContext(C, TargetData_val(TD), Int_val(AS));
+}
+
/* DataLayout.t -> Llvm.lltype -> Int64.t */
CAMLprim value llvm_size_in_bits(value TD, LLVMTypeRef Ty) {
return caml_copy_int64(LLVMSizeOfTypeInBits(TargetData_val(TD), Ty));