diff options
Diffstat (limited to 'bindings/ocaml/target/target_ocaml.c')
-rw-r--r-- | bindings/ocaml/target/target_ocaml.c | 11 |
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)); |