Module llvm_bitreader

This header declares the C interface to libLLVMBitReader.a, which implements input of the LLVM bitcode format.

Many exotic languages can interoperate with C code but have a harder time with C++ due to name mangling. So in addition to C, this interface enables tools written in such languages.

Procs

proc parseBitcode(memBuf: MemoryBufferRef; outModule: ptr ModuleRef; 
                  outMessage: cstringArray): Bool {.importc: "LLVMParseBitcode", 
    cdecl, dynlib: dllname.}
Builds a module from the bitcode in the specified memory buffer, returning a reference to the module via the OutModule parameter. Returns 0 on success. Optionally returns a human-readable error message via OutMessage.
proc parseBitcodeInContext(contextRef: ContextRef; memBuf: MemoryBufferRef; 
                           outModule: ptr ModuleRef; outMessage: cstringArray): Bool {.
    importc: "LLVMParseBitcodeInContext", cdecl, dynlib: dllname.}
proc getBitcodeModuleInContext(contextRef: ContextRef; memBuf: MemoryBufferRef; 
                               outModule: ptr ModuleRef; 
                               outMessage: cstringArray): Bool {.
    importc: "LLVMGetBitcodeModuleInContext", cdecl, dynlib: dllname.}
Reads a module from the specified path, returning via the OutMP parameter a module provider which performs lazy deserialization. Returns 0 on success. Optionally returns a human-readable error message via OutMessage.
proc getBitcodeModule(memBuf: MemoryBufferRef; outModule: ptr ModuleRef; 
                      outMessage: cstringArray): Bool {.
    importc: "LLVMGetBitcodeModule", cdecl, dynlib: dllname.}
proc getBitcodeModuleProviderInContext(contextRef: ContextRef; 
                                       memBuf: MemoryBufferRef; 
                                       outMP: ptr ModuleProviderRef; 
                                       outMessage: cstringArray): Bool {.
    deprecated, importc: "LLVMGetBitcodeModuleProviderInContext", 
    cdecl, dynlib: dllname.}
Deprecated: Use LLVMGetBitcodeModuleInContext instead.
proc getBitcodeModuleProvider(memBuf: MemoryBufferRef; 
                              outMP: ptr ModuleProviderRef; 
                              outMessage: cstringArray): Bool {.deprecated, 
    importc: "LLVMGetBitcodeModuleProvider", cdecl, dynlib: dllname.}
Deprecated: Use LLVMGetBitcodeModule instead.