summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bindings/ocaml/llvm/llvm.ml1
-rw-r--r--bindings/ocaml/llvm/llvm_ocaml.c6
-rw-r--r--include/llvm-c/Core.h3
-rw-r--r--lib/VMCore/Core.cpp4
4 files changed, 14 insertions, 0 deletions
diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml
index d69487a2df..92c60c404f 100644
--- a/bindings/ocaml/llvm/llvm.ml
+++ b/bindings/ocaml/llvm/llvm.ml
@@ -119,6 +119,7 @@ external define_type_name : string -> lltype -> llmodule -> bool
= "llvm_add_type_name"
external delete_type_name : string -> llmodule -> unit
= "llvm_delete_type_name"
+external dump_module : llmodule -> unit = "llvm_dump_module"
(*===-- Types -------------------------------------------------------------===*)
diff --git a/bindings/ocaml/llvm/llvm_ocaml.c b/bindings/ocaml/llvm/llvm_ocaml.c
index f4e958d966..ebe09dcbef 100644
--- a/bindings/ocaml/llvm/llvm_ocaml.c
+++ b/bindings/ocaml/llvm/llvm_ocaml.c
@@ -98,6 +98,12 @@ CAMLprim value llvm_delete_type_name(value Name, LLVMModuleRef M) {
return Val_unit;
}
+/* llmodule -> unit */
+CAMLprim value llvm_dump_module(LLVMModuleRef M) {
+ LLVMDumpModule(M);
+ return Val_unit;
+}
+
/*===-- Types -------------------------------------------------------------===*/
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h
index 1c3fc9ceb4..b10e2b721e 100644
--- a/include/llvm-c/Core.h
+++ b/include/llvm-c/Core.h
@@ -183,6 +183,9 @@ void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
int LLVMAddTypeName(LLVMModuleRef M, const char *Name, LLVMTypeRef Ty);
void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name);
+/** See Module::dump. */
+void LLVMDumpModule(LLVMModuleRef M);
+
/*===-- Types -------------------------------------------------------------===*/
diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp
index c159bbc2f7..665f0ac1b8 100644
--- a/lib/VMCore/Core.cpp
+++ b/lib/VMCore/Core.cpp
@@ -76,6 +76,10 @@ void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name) {
TST.remove(I);
}
+void LLVMDumpModule(LLVMModuleRef M) {
+ unwrap(M)->dump();
+}
+
/*===-- Operations on types -----------------------------------------------===*/