1e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao(*===-- llvm_bitwriter.ml - LLVM Ocaml Interface ----------------*- C++ -*-===*
2e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *
3e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *                     The LLVM Compiler Infrastructure
4e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *
5e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao * This file is distributed under the University of Illinois Open Source
6e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao * License. See LICENSE.TXT for details.
7e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *
8e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *===----------------------------------------------------------------------===
9e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *
10e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao * This interface provides an ocaml API for the LLVM intermediate
11e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao * representation, the classes in the VMCore library.
12e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *
13e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao *===----------------------------------------------------------------------===*)
14e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
15e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
16e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao(* Writes the bitcode for module the given path. Returns true if successful. *)
17e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoexternal write_bitcode_file : Llvm.llmodule -> string -> bool
18e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao                            = "llvm_write_bitcode_file"
19e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liao
20e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liaoexternal write_bitcode_to_fd : ?unbuffered:bool -> Llvm.llmodule
21e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liao                               -> Unix.file_descr -> bool
22e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liao                             = "llvm_write_bitcode_to_fd"
23e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liao
24e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liaolet output_bitcode ?unbuffered channel m =
25e4454320b3cfffe926a487c33fbeb454366de2f8Shih-wei Liao  write_bitcode_to_fd ?unbuffered m (Unix.descr_of_out_channel channel)
26