|* *|
\*===----------------------------------------------------------------------===*/
+#include "llvm-c/Core.h"
#include "llvm-c/Analysis.h"
#include "caml/alloc.h"
#include "caml/mlvalues.h"
#include <string.h>
#include <assert.h>
+#include "llvm-c/Core.h"
#include "llvm-c/ExecutionEngine.h"
#include "llvm-c/Target.h"
#include "caml/alloc.h"
external of_string : string -> t = "llvm_datalayout_of_string"
external as_string : t -> string = "llvm_datalayout_as_string"
- external add_to_pass_manager : [<Llvm.PassManager.any]
- Llvm.PassManager.t -> t -> unit
- = "llvm_datalayout_add_to_pass_manager"
external byte_order : t -> Endian.t = "llvm_datalayout_byte_order"
external pointer_size : t -> int = "llvm_datalayout_pointer_size"
external intptr_type : Llvm.llcontext -> t -> Llvm.lltype
See the method [llvm::DataLayout::getStringRepresentation]. *)
val as_string : t -> string
- (** [add_to_pass_manager pm dl] adds the data layout [dl] to
- the pass manager [pm].
- See the method [llvm::PassManagerBase::add]. *)
- val add_to_pass_manager : [<Llvm.PassManager.any] Llvm.PassManager.t ->
- t -> unit
-
(** Returns the byte order of a target, either [Endian.Big] or
[Endian.Little].
See the method [llvm::DataLayout::isLittleEndian]. *)
|* *|
\*===----------------------------------------------------------------------===*/
+#include "llvm-c/Core.h"
#include "llvm-c/Target.h"
#include "llvm-c/TargetMachine.h"
#include "caml/alloc.h"
return Copy;
}
-/* [<Llvm.PassManager.any] Llvm.PassManager.t -> DataLayout.t -> unit */
-CAMLprim value llvm_datalayout_add_to_pass_manager(LLVMPassManagerRef PM,
- value DL) {
- LLVMAddTargetData(DataLayout_val(DL), PM);
- return Val_unit;
-}
-
/* DataLayout.t -> Endian.t */
CAMLprim value llvm_datalayout_byte_order(value DL) {
return Val_int(LLVMByteOrder(DataLayout_val(DL)));
assert_equal (DL.preferred_align sty dl) 8;
assert_equal (DL.preferred_align_of_global (declare_global sty "g" m) dl) 8;
assert_equal (DL.element_at_offset sty (Int64.of_int 1) dl) 0;
- assert_equal (DL.offset_of_element sty 1 dl) (Int64.of_int 4);
-
- let pm = PassManager.create () in
- ignore (DL.add_to_pass_manager pm dl)
+ assert_equal (DL.offset_of_element sty 1 dl) (Int64.of_int 4)
(*===-- Target ------------------------------------------------------------===*)