1bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen(*===-- llvm_bitreader.mli - LLVM Ocaml Interface ---------------*- C++ -*-===* 2bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen * 3bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen * The LLVM Compiler Infrastructure 4bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen * 5234d529e582963ad4b5d83b911cd057fe99d1435Chris Lattner * This file is distributed under the University of Illinois Open Source 6234d529e582963ad4b5d83b911cd057fe99d1435Chris Lattner * License. See LICENSE.TXT for details. 7bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen * 8bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen *===----------------------------------------------------------------------===*) 9bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen 103b646de03668fed630f4e3fa9df56a7332a905e4Gordon Henriksen(** Bitcode reader. 113b646de03668fed630f4e3fa9df56a7332a905e4Gordon Henriksen 123b646de03668fed630f4e3fa9df56a7332a905e4Gordon Henriksen This interface provides an ocaml API for the LLVM bitcode reader, the 133b646de03668fed630f4e3fa9df56a7332a905e4Gordon Henriksen classes in the Bitreader library. *) 14bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen 15da1435f86ebc9886dd7704294e01d192d79e069cGordon Henriksenexception Error of string 16bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen 1716609f3c5c26ba34603ae0d7ebab86fb11a72722Erick Tryzelaar(** [get_module context mb] reads the bitcode for a new module [m] from the 1816609f3c5c26ba34603ae0d7ebab86fb11a72722Erick Tryzelaar memory buffer [mb] in the context [context]. Returns [m] if successful, or 1916609f3c5c26ba34603ae0d7ebab86fb11a72722Erick Tryzelaar raises [Error msg] otherwise, where [msg] is a description of the error 2016609f3c5c26ba34603ae0d7ebab86fb11a72722Erick Tryzelaar encountered. See the function [llvm::getBitcodeModule]. *) 21a156efdf71bc668093e31593713694cf076db895Torok Edwinval get_module : Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule 22a156efdf71bc668093e31593713694cf076db895Torok Edwin 23bbc6597f02d108f32b5bdc7711cc67386196017bGordon Henriksen 245371aa2a1c9a4eeecffdb9ab7b2175732e49475bErick Tryzelaar(** [parse_bitcode context mb] parses the bitcode for a new module [m] from the 255371aa2a1c9a4eeecffdb9ab7b2175732e49475bErick Tryzelaar memory buffer [mb] in the context [context]. Returns [m] if successful, or 26df6c55155c4e93f06e8d5bf0a8031c2e850e08a5Bill Wendling raises [Error msg] otherwise, where [msg] is a description of the error 27df6c55155c4e93f06e8d5bf0a8031c2e850e08a5Bill Wendling encountered. See the function [llvm::ParseBitcodeFile]. *) 28a156efdf71bc668093e31593713694cf076db895Torok Edwinval parse_bitcode : Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule 29