summaryrefslogtreecommitdiffstats
path: root/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c
diff options
context:
space:
mode:
authorPeter Zotov <whitequark@whitequark.org>2013-11-15 02:51:44 +0000
committerPeter Zotov <whitequark@whitequark.org>2013-11-15 02:51:44 +0000
commit8a1a3bfc057be9e4d6f209a1d0bad4bbfba7e7e0 (patch)
tree63901fe95a3531c436f925252bdc37cbb1514782 /llvm/bindings/ocaml/executionengine/executionengine_ocaml.c
parentb4fb964b996669fe3faa195c537ee3c4ef5744d8 (diff)
downloadbcm5719-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.c18
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;
}
OpenPOWER on IntegriCloud