class BitcodeModule

Declaration

class BitcodeModule { /* full declaration omitted */ };

Description

Represents a module in a bitcode file.

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:61

Member Variables

private ArrayRef<uint8_t> Buffer
private llvm::StringRef ModuleIdentifier
private llvm::StringRef Strtab
private uint64_t IdentificationBit
private uint64_t ModuleBit

Method Overview

  • private BitcodeModule(ArrayRef<uint8_t> Buffer, llvm::StringRef ModuleIdentifier, uint64_t IdentificationBit, uint64_t ModuleBit)
  • public llvm::StringRef getBuffer() const
  • public Expected<llvm::BitcodeLTOInfo> getLTOInfo()
  • public Expected<std::unique_ptr<Module>> getLazyModule(llvm::LLVMContext & Context, bool ShouldLazyLoadMetadata, bool IsImporting)
  • public llvm::StringRef getModuleIdentifier() const
  • private Expected<std::unique_ptr<Module>> getModuleImpl(llvm::LLVMContext & Context, bool MaterializeAll, bool ShouldLazyLoadMetadata, bool IsImporting, llvm::DataLayoutCallbackTy DataLayoutCallback)
  • public llvm::StringRef getStrtab() const
  • public Expected<std::unique_ptr<ModuleSummaryIndex>> getSummary()
  • public Expected<std::unique_ptr<Module>> parseModule(llvm::LLVMContext & Context, llvm::DataLayoutCallbackTy DataLayoutCallback = [](llvm::StringRef) { return None; })
  • public llvm::Error readSummary(llvm::ModuleSummaryIndex & CombinedIndex, llvm::StringRef ModulePath, uint64_t ModuleId)

Methods

BitcodeModule(ArrayRef<uint8_t> Buffer,
              llvm::StringRef ModuleIdentifier,
              uint64_t IdentificationBit,
              uint64_t ModuleBit)

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:75

Parameters

ArrayRef<uint8_t> Buffer
llvm::StringRef ModuleIdentifier
uint64_t IdentificationBit
uint64_t ModuleBit

llvm::StringRef getBuffer() const

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:90

Expected<llvm::BitcodeLTOInfo> getLTOInfo()

Description

Returns information about the module to be used for LTO: whether to compile with ThinLTO, and whether it has a summary.

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:113

Expected<std::unique_ptr<Module>> getLazyModule(
    llvm::LLVMContext& Context,
    bool ShouldLazyLoadMetadata,
    bool IsImporting)

Description

Read the bitcode module and prepare for lazy deserialization of function bodies. If ShouldLazyLoadMetadata is true, lazily load metadata as well. If IsImporting is true, this module is being parsed for ThinLTO importing into another module.

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:102

Parameters

llvm::LLVMContext& Context
bool ShouldLazyLoadMetadata
bool IsImporting

llvm::StringRef getModuleIdentifier() const

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:96

Expected<std::unique_ptr<Module>> getModuleImpl(
    llvm::LLVMContext& Context,
    bool MaterializeAll,
    bool ShouldLazyLoadMetadata,
    bool IsImporting,
    llvm::DataLayoutCallbackTy DataLayoutCallback)

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:85

Parameters

llvm::LLVMContext& Context
bool MaterializeAll
bool ShouldLazyLoadMetadata
bool IsImporting
llvm::DataLayoutCallbackTy DataLayoutCallback

llvm::StringRef getStrtab() const

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:94

Expected<std::unique_ptr<ModuleSummaryIndex>>
getSummary()

Description

Parse the specified bitcode buffer, returning the module summary index.

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:116

Expected<std::unique_ptr<Module>> parseModule(
    llvm::LLVMContext& Context,
    llvm::DataLayoutCallbackTy
        DataLayoutCallback =
            [](llvm::StringRef) { return None; })

Description

Read the entire bitcode module and return it.

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:107

Parameters

llvm::LLVMContext& Context
llvm::DataLayoutCallbackTy DataLayoutCallback = [](llvm::StringRef) { return None; }

llvm::Error readSummary(
    llvm::ModuleSummaryIndex& CombinedIndex,
    llvm::StringRef ModulePath,
    uint64_t ModuleId)

Description

Parse the specified bitcode buffer and merge its module summary index into CombinedIndex.

Declared at: llvm/include/llvm/Bitcode/BitcodeReader.h:120

Parameters

llvm::ModuleSummaryIndex& CombinedIndex
llvm::StringRef ModulePath
uint64_t ModuleId