[OCaml] Add missing Llvm_target functions
[oota-llvm.git] / bindings / ocaml / target / target_ocaml.c
index 46bf8dc45489fd5e400154c8247922199f6756ea..5178c09fde5f820c0beddcf69a3f926b6697b659 100644 (file)
@@ -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));