Module Llvm_bitreader

module Llvm_bitreader: sig .. end

Bitcode reader.

This interface provides an OCaml API for the LLVM bitcode reader, the classes in the Bitreader library.


exception Error of string
val get_module : Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule

get_module context mb reads the bitcode for a new module m from the memory buffer mb in the context context. Returns m if successful, or raises Error msg otherwise, where msg is a description of the error encountered.

If parsing succeeds, ownership of mb is transferred to the returned module (for lazy deserialization); the caller must not dispose mb. If parsing fails, ownership is retained by the caller, which must dispose it.

See the function llvm::getBitcodeModule.

val parse_bitcode : Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule

parse_bitcode context mb parses the bitcode for a new module m from the memory buffer mb in the context context. Returns m if successful, or raises Error msg otherwise, where msg is a description of the error encountered.

This function does not take ownership of mb; the caller should dispose it (see Llvm.MemoryBuffer.dispose) when it is no longer needed.

See the function llvm::ParseBitcodeFile.