LLVM  6.0.0svn
Public Member Functions | Friends | List of all members
llvm::BitcodeModule Class Reference

Represents a module in a bitcode file. More...

#include "llvm/Bitcode/BitcodeReader.h"

Public Member Functions

StringRef getBuffer () const
 
StringRef getStrtab () const
 
StringRef getModuleIdentifier () const
 
Expected< std::unique_ptr< Module > > getLazyModule (LLVMContext &Context, bool ShouldLazyLoadMetadata, bool IsImporting)
 Read the bitcode module and prepare for lazy deserialization of function bodies. More...
 
Expected< std::unique_ptr< Module > > parseModule (LLVMContext &Context)
 Read the entire bitcode module and return it. More...
 
Expected< BitcodeLTOInfogetLTOInfo ()
 Returns information about the module to be used for LTO: whether to compile with ThinLTO, and whether it has a summary. More...
 
Expected< std::unique_ptr< ModuleSummaryIndex > > getSummary ()
 Parse the specified bitcode buffer, returning the module summary index. More...
 
Error readSummary (ModuleSummaryIndex &CombinedIndex, StringRef ModulePath, uint64_t ModuleId)
 Parse the specified bitcode buffer and merge its module summary index into CombinedIndex. More...
 

Friends

Expected< BitcodeFileContentsgetBitcodeFileContents (MemoryBufferRef Buffer)
 Returns the contents of a bitcode file. More...
 

Detailed Description

Represents a module in a bitcode file.

Definition at line 57 of file BitcodeReader.h.

Member Function Documentation

◆ getBuffer()

StringRef llvm::BitcodeModule::getBuffer ( ) const
inline

Definition at line 86 of file BitcodeReader.h.

◆ getLazyModule()

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

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.

Definition at line 5627 of file BitcodeReader.cpp.

Referenced by handleNonPrevailingComdat().

◆ getLTOInfo()

Expected< BitcodeLTOInfo > BitcodeModule::getLTOInfo ( )

◆ getModuleIdentifier()

StringRef llvm::BitcodeModule::getModuleIdentifier ( ) const
inline

◆ getStrtab()

StringRef llvm::BitcodeModule::getStrtab ( ) const
inline

Definition at line 90 of file BitcodeReader.h.

◆ getSummary()

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

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

Definition at line 5647 of file BitcodeReader.cpp.

References llvm::SimpleBitstreamCursor::JumpToBit().

◆ parseModule()

Expected< std::unique_ptr< Module > > BitcodeModule::parseModule ( LLVMContext Context)

Read the entire bitcode module and return it.

Definition at line 5729 of file BitcodeReader.cpp.

Referenced by llvm::lto::ThinBackendProc::~ThinBackendProc().

◆ readSummary()

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

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

Definition at line 5636 of file BitcodeReader.cpp.

References llvm::SimpleBitstreamCursor::JumpToBit().

Referenced by llvm::lto::LTO::add(), and handleNonPrevailingComdat().

Friends And Related Function Documentation

◆ getBitcodeFileContents

Expected<BitcodeFileContents> getBitcodeFileContents ( MemoryBufferRef  Buffer)
friend

Returns the contents of a bitcode file.

This includes the raw contents of the symbol table embedded in the bitcode file. Clients which require a symbol table should prefer to use irsymtab::read instead of this function because it creates a reader for the irsymtab and handles upgrading bitcode files without a symbol table or with an old symbol table.


The documentation for this class was generated from the following files: