X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=bindings%2Focaml%2Fexecutionengine%2Fexecutionengine_ocaml.c;h=4b44a91066fe68ad7cced3013093e514e83a60f3;hp=3d2c8b09e75c92502126fd19b6b20484a4de3bb5;hb=04deb4957ab253c02bce9d982d69396954744a41;hpb=68f4dae1c078df09c9b19a0bda9bc8b8d0aae9be diff --git a/bindings/ocaml/executionengine/executionengine_ocaml.c b/bindings/ocaml/executionengine/executionengine_ocaml.c index 3d2c8b09e75..4b44a91066f 100644 --- a/bindings/ocaml/executionengine/executionengine_ocaml.c +++ b/bindings/ocaml/executionengine/executionengine_ocaml.c @@ -324,10 +324,18 @@ CAMLprim value llvm_ee_free_machine_code(LLVMValueRef F, return Val_unit; } -extern value llvm_alloc_target_data(LLVMTargetDataRef TargetData); +extern value llvm_alloc_data_layout(LLVMTargetDataRef TargetData); -/* ExecutionEngine.t -> Llvm_target.TargetData.t */ -CAMLprim value llvm_ee_get_target_data(LLVMExecutionEngineRef EE) { - LLVMTargetDataRef TD = LLVMGetExecutionEngineTargetData(EE); - return llvm_alloc_target_data(TD); +/* ExecutionEngine.t -> Llvm_target.DataLayout.t */ +CAMLprim value llvm_ee_get_data_layout(LLVMExecutionEngineRef EE) { + value DataLayout; + LLVMTargetDataRef OrigDataLayout; + OrigDataLayout = LLVMGetExecutionEngineTargetData(EE); + + char* TargetDataCStr; + TargetDataCStr = LLVMCopyStringRepOfTargetData(OrigDataLayout); + DataLayout = llvm_alloc_data_layout(LLVMCreateTargetData(TargetDataCStr)); + LLVMDisposeMessage(TargetDataCStr); + + return DataLayout; }