diff options
author | Peter Zotov <whitequark@whitequark.org> | 2013-11-15 02:51:44 +0000 |
---|---|---|
committer | Peter Zotov <whitequark@whitequark.org> | 2013-11-15 02:51:44 +0000 |
commit | 8a1a3bfc057be9e4d6f209a1d0bad4bbfba7e7e0 (patch) | |
tree | 63901fe95a3531c436f925252bdc37cbb1514782 /llvm/bindings/ocaml/executionengine/executionengine_ocaml.c | |
parent | b4fb964b996669fe3faa195c537ee3c4ef5744d8 (diff) | |
download | bcm5719-llvm-8a1a3bfc057be9e4d6f209a1d0bad4bbfba7e7e0.tar.gz bcm5719-llvm-8a1a3bfc057be9e4d6f209a1d0bad4bbfba7e7e0.zip |
[OCaml] Refactor Llvm_target interface
This commit brings the module structure, argument order and
primitive names in Llvm_target in order with the rest of the bindings,
in preparation for adding TargetMachine API.
llvm-svn: 194773
Diffstat (limited to 'llvm/bindings/ocaml/executionengine/executionengine_ocaml.c')
-rw-r--r-- | llvm/bindings/ocaml/executionengine/executionengine_ocaml.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c b/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c index 3d2c8b09e75..4b44a91066f 100644 --- a/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c +++ b/llvm/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; } |