summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/bindings/ocaml/target
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/bindings/ocaml/target')
-rw-r--r--contrib/llvm/bindings/ocaml/target/Makefile19
-rw-r--r--contrib/llvm/bindings/ocaml/target/llvm_target.ml44
-rw-r--r--contrib/llvm/bindings/ocaml/target/llvm_target.mli102
-rw-r--r--contrib/llvm/bindings/ocaml/target/target_ocaml.c109
4 files changed, 0 insertions, 274 deletions
diff --git a/contrib/llvm/bindings/ocaml/target/Makefile b/contrib/llvm/bindings/ocaml/target/Makefile
deleted file mode 100644
index 3c48cd8..0000000
--- a/contrib/llvm/bindings/ocaml/target/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-##===- bindings/ocaml/target/Makefile ----------------------*- Makefile -*-===##
-#
-# The LLVM Compiler Infrastructure
-#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-#
-##===----------------------------------------------------------------------===##
-#
-# This is the makefile for the Objective Caml Llvm_target interface.
-#
-##===----------------------------------------------------------------------===##
-
-LEVEL := ../../..
-LIBRARYNAME := llvm_target
-UsedComponents := target
-UsedOcamlInterfaces := llvm
-
-include ../Makefile.ocaml
diff --git a/contrib/llvm/bindings/ocaml/target/llvm_target.ml b/contrib/llvm/bindings/ocaml/target/llvm_target.ml
deleted file mode 100644
index ea5341d..0000000
--- a/contrib/llvm/bindings/ocaml/target/llvm_target.ml
+++ /dev/null
@@ -1,44 +0,0 @@
-(*===-- llvm_target.ml - LLVM Ocaml Interface ------------------*- OCaml -*-===*
- *
- * The LLVM Compiler Infrastructure
- *
- * This file is distributed under the University of Illinois Open Source
- * License. See LICENSE.TXT for details.
- *
- *===----------------------------------------------------------------------===*)
-
-module Endian = struct
- type t =
- | Big
- | Little
-end
-
-module TargetData = struct
- type t
-
- external create : string -> t = "llvm_targetdata_create"
- external add : t -> [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
- = "llvm_targetdata_add"
- external as_string : t -> string = "llvm_targetdata_as_string"
- external invalidate_struct_layout : t -> Llvm.lltype -> unit
- = "llvm_targetdata_invalidate_struct_layout"
- external dispose : t -> unit = "llvm_targetdata_dispose"
-end
-
-external byte_order : TargetData.t -> Endian.t = "llvm_byte_order"
-external pointer_size : TargetData.t -> int = "llvm_pointer_size"
-external intptr_type : TargetData.t -> Llvm.lltype = "LLVMIntPtrType"
-external size_in_bits : TargetData.t -> Llvm.lltype -> Int64.t
- = "llvm_size_in_bits"
-external store_size : TargetData.t -> Llvm.lltype -> Int64.t = "llvm_store_size"
-external abi_size : TargetData.t -> Llvm.lltype -> Int64.t = "llvm_abi_size"
-external abi_align : TargetData.t -> Llvm.lltype -> int = "llvm_abi_align"
-external stack_align : TargetData.t -> Llvm.lltype -> int = "llvm_stack_align"
-external preferred_align : TargetData.t -> Llvm.lltype -> int
- = "llvm_preferred_align"
-external preferred_align_of_global : TargetData.t -> Llvm.llvalue -> int
- = "llvm_preferred_align_of_global"
-external element_at_offset : TargetData.t -> Llvm.lltype -> Int64.t -> int
- = "llvm_element_at_offset"
-external offset_of_element : TargetData.t -> Llvm.lltype -> int -> Int64.t
- = "llvm_offset_of_element"
diff --git a/contrib/llvm/bindings/ocaml/target/llvm_target.mli b/contrib/llvm/bindings/ocaml/target/llvm_target.mli
deleted file mode 100644
index a82e1b6..0000000
--- a/contrib/llvm/bindings/ocaml/target/llvm_target.mli
+++ /dev/null
@@ -1,102 +0,0 @@
-(*===-- llvm_target.mli - LLVM Ocaml Interface -----------------*- OCaml -*-===*
- *
- * The LLVM Compiler Infrastructure
- *
- * This file is distributed under the University of Illinois Open Source
- * License. See LICENSE.TXT for details.
- *
- *===----------------------------------------------------------------------===*)
-
-(** Target Information.
-
- This interface provides an ocaml API for LLVM target information,
- the classes in the Target library. *)
-
-module Endian : sig
- type t =
- | Big
- | Little
-end
-
-module TargetData : sig
- type t
-
- (** [TargetData.create rep] parses the target data string representation [rep].
- See the constructor llvm::TargetData::TargetData. *)
- external create : string -> t = "llvm_targetdata_create"
-
- (** [add_target_data td pm] adds the target data [td] to the pass manager [pm].
- Does not take ownership of the target data.
- See the method llvm::PassManagerBase::add. *)
- external add : t -> [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
- = "llvm_targetdata_add"
-
- (** [as_string td] is the string representation of the target data [td].
- See the constructor llvm::TargetData::TargetData. *)
- external as_string : t -> string = "llvm_targetdata_as_string"
-
- (** Struct layouts are speculatively cached. If a TargetDataRef is alive when
- types are being refined and removed, this method must be called whenever a
- struct type is removed to avoid a dangling pointer in this cache.
- See the method llvm::TargetData::InvalidateStructLayoutInfo. *)
- external invalidate_struct_layout : t -> Llvm.lltype -> unit
- = "llvm_targetdata_invalidate_struct_layout"
-
- (** Deallocates a TargetData.
- See the destructor llvm::TargetData::~TargetData. *)
- external dispose : t -> unit = "llvm_targetdata_dispose"
-end
-
-(** Returns the byte order of a target, either LLVMBigEndian or
- LLVMLittleEndian.
- See the method llvm::TargetData::isLittleEndian. *)
-external byte_order : TargetData.t -> Endian.t = "llvm_byte_order"
-
-(** Returns the pointer size in bytes for a target.
- See the method llvm::TargetData::getPointerSize. *)
-external pointer_size : TargetData.t -> int = "llvm_pointer_size"
-
-(** Returns the integer type that is the same size as a pointer on a target.
- See the method llvm::TargetData::getIntPtrType. *)
-external intptr_type : TargetData.t -> Llvm.lltype = "LLVMIntPtrType"
-
-(** Computes the size of a type in bytes for a target.
- See the method llvm::TargetData::getTypeSizeInBits. *)
-external size_in_bits : TargetData.t -> Llvm.lltype -> Int64.t
- = "llvm_size_in_bits"
-
-(** Computes the storage size of a type in bytes for a target.
- See the method llvm::TargetData::getTypeStoreSize. *)
-external store_size : TargetData.t -> Llvm.lltype -> Int64.t = "llvm_store_size"
-
-(** Computes the ABI size of a type in bytes for a target.
- See the method llvm::TargetData::getTypeAllocSize. *)
-external abi_size : TargetData.t -> Llvm.lltype -> Int64.t = "llvm_abi_size"
-
-(** Computes the ABI alignment of a type in bytes for a target.
- See the method llvm::TargetData::getTypeABISize. *)
-external abi_align : TargetData.t -> Llvm.lltype -> int = "llvm_abi_align"
-
-(** Computes the call frame alignment of a type in bytes for a target.
- See the method llvm::TargetData::getTypeABISize. *)
-external stack_align : TargetData.t -> Llvm.lltype -> int = "llvm_stack_align"
-
-(** Computes the preferred alignment of a type in bytes for a target.
- See the method llvm::TargetData::getTypeABISize. *)
-external preferred_align : TargetData.t -> Llvm.lltype -> int
- = "llvm_preferred_align"
-
-(** Computes the preferred alignment of a global variable in bytes for a target.
- See the method llvm::TargetData::getPreferredAlignment. *)
-external preferred_align_of_global : TargetData.t -> Llvm.llvalue -> int
- = "llvm_preferred_align_of_global"
-
-(** Computes the structure element that contains the byte offset for a target.
- See the method llvm::StructLayout::getElementContainingOffset. *)
-external element_at_offset : TargetData.t -> Llvm.lltype -> Int64.t -> int
- = "llvm_element_at_offset"
-
-(** Computes the byte offset of the indexed struct element for a target.
- See the method llvm::StructLayout::getElementContainingOffset. *)
-external offset_of_element : TargetData.t -> Llvm.lltype -> int -> Int64.t
- = "llvm_offset_of_element"
diff --git a/contrib/llvm/bindings/ocaml/target/target_ocaml.c b/contrib/llvm/bindings/ocaml/target/target_ocaml.c
deleted file mode 100644
index cc20e81..0000000
--- a/contrib/llvm/bindings/ocaml/target/target_ocaml.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*===-- target_ocaml.c - LLVM Ocaml Glue ------------------------*- C++ -*-===*\
-|* *|
-|* The LLVM Compiler Infrastructure *|
-|* *|
-|* This file is distributed under the University of Illinois Open Source *|
-|* License. See LICENSE.TXT for details. *|
-|* *|
-|*===----------------------------------------------------------------------===*|
-|* *|
-|* This file glues LLVM's ocaml interface to its C interface. These functions *|
-|* are by and large transparent wrappers to the corresponding C functions. *|
-|* *|
-|* Note that these functions intentionally take liberties with the CAMLparamX *|
-|* macros, since most of the parameters are not GC heap objects. *|
-|* *|
-\*===----------------------------------------------------------------------===*/
-
-#include "llvm-c/Target.h"
-#include "caml/alloc.h"
-
-/* string -> TargetData.t */
-CAMLprim LLVMTargetDataRef llvm_targetdata_create(value StringRep) {
- return LLVMCreateTargetData(String_val(StringRep));
-}
-
-/* TargetData.t -> [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
-CAMLprim value llvm_targetdata_add(LLVMTargetDataRef TD, LLVMPassManagerRef PM){
- LLVMAddTargetData(TD, PM);
- return Val_unit;
-}
-
-/* TargetData.t -> string */
-CAMLprim value llvm_targetdata_as_string(LLVMTargetDataRef TD) {
- char *StringRep = LLVMCopyStringRepOfTargetData(TD);
- value Copy = copy_string(StringRep);
- LLVMDisposeMessage(StringRep);
- return Copy;
-}
-
-/* TargetData.t -> Llvm.lltype -> unit */
-CAMLprim value llvm_targetdata_invalidate_struct_layout(LLVMTargetDataRef TD,
- LLVMTypeRef Ty) {
- LLVMInvalidateStructLayout(TD, Ty);
- return Val_unit;
-}
-
-/* TargetData.t -> unit */
-CAMLprim value llvm_targetdata_dispose(LLVMTargetDataRef TD) {
- LLVMDisposeTargetData(TD);
- return Val_unit;
-}
-
-/* TargetData.t -> Endian.t */
-CAMLprim value llvm_byte_order(LLVMTargetDataRef TD) {
- return Val_int(LLVMByteOrder(TD));
-}
-
-/* TargetData.t -> int */
-CAMLprim value llvm_pointer_size(LLVMTargetDataRef TD) {
- return Val_int(LLVMPointerSize(TD));
-}
-
-/* TargetData.t -> Llvm.lltype -> Int64.t */
-CAMLprim value llvm_size_in_bits(LLVMTargetDataRef TD, LLVMTypeRef Ty) {
- return caml_copy_int64(LLVMSizeOfTypeInBits(TD, Ty));
-}
-
-/* TargetData.t -> Llvm.lltype -> Int64.t */
-CAMLprim value llvm_store_size(LLVMTargetDataRef TD, LLVMTypeRef Ty) {
- return caml_copy_int64(LLVMStoreSizeOfType(TD, Ty));
-}
-
-/* TargetData.t -> Llvm.lltype -> Int64.t */
-CAMLprim value llvm_abi_size(LLVMTargetDataRef TD, LLVMTypeRef Ty) {
- return caml_copy_int64(LLVMABISizeOfType(TD, Ty));
-}
-
-/* TargetData.t -> Llvm.lltype -> int */
-CAMLprim value llvm_abi_align(LLVMTargetDataRef TD, LLVMTypeRef Ty) {
- return Val_int(LLVMABIAlignmentOfType(TD, Ty));
-}
-
-/* TargetData.t -> Llvm.lltype -> int */
-CAMLprim value llvm_stack_align(LLVMTargetDataRef TD, LLVMTypeRef Ty) {
- return Val_int(LLVMCallFrameAlignmentOfType(TD, Ty));
-}
-
-/* TargetData.t -> Llvm.lltype -> int */
-CAMLprim value llvm_preferred_align(LLVMTargetDataRef TD, LLVMTypeRef Ty) {
- return Val_int(LLVMPreferredAlignmentOfType(TD, Ty));
-}
-
-/* TargetData.t -> Llvm.llvalue -> int */
-CAMLprim value llvm_preferred_align_of_global(LLVMTargetDataRef TD,
- LLVMValueRef GlobalVar) {
- return Val_int(LLVMPreferredAlignmentOfGlobal(TD, GlobalVar));
-}
-
-/* TargetData.t -> Llvm.lltype -> Int64.t -> int */
-CAMLprim value llvm_element_at_offset(LLVMTargetDataRef TD, LLVMTypeRef Ty,
- value Offset) {
- return Val_int(LLVMElementAtOffset(TD, Ty, Int_val(Offset)));
-}
-
-/* TargetData.t -> Llvm.lltype -> int -> Int64.t */
-CAMLprim value llvm_offset_of_element(LLVMTargetDataRef TD, LLVMTypeRef Ty,
- value Index) {
- return caml_copy_int64(LLVMOffsetOfElement(TD, Ty, Int_val(Index)));
-}
OpenPOWER on IntegriCloud