diff options
-rw-r--r-- | bindings/ocaml/llvm/llvm.ml | 1 | ||||
-rw-r--r-- | bindings/ocaml/llvm/llvm_ocaml.c | 6 | ||||
-rw-r--r-- | include/llvm-c/Core.h | 3 | ||||
-rw-r--r-- | lib/VMCore/Core.cpp | 4 |
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 -----------------------------------------------===*/ |