LLVM API Documentation

Public Member Functions | Static Public Member Functions
llvm::BitcodeReader Class Reference

#include <BitcodeReader.h>

Inheritance diagram for llvm::BitcodeReader:
Inheritance graph
[legend]
Collaboration diagram for llvm::BitcodeReader:
Collaboration graph
[legend]

List of all members.

Public Member Functions

std::error_code Error (BitcodeError E)
 BitcodeReader (MemoryBuffer *buffer, LLVMContext &C)
 BitcodeReader (DataStreamer *streamer, LLVMContext &C)
 ~BitcodeReader ()
std::error_code materializeForwardReferencedFunctions ()
void FreeState ()
void releaseBuffer ()
bool isMaterializable (const GlobalValue *GV) const override
bool isDematerializable (const GlobalValue *GV) const override
std::error_code Materialize (GlobalValue *GV) override
std::error_code MaterializeModule (Module *M) override
void Dematerialize (GlobalValue *GV) override
std::error_code ParseBitcodeInto (Module *M)
 Main interface to parsing a bitcode buffer.
ErrorOr< std::string > parseTriple ()
 Cheap mechanism to just extract module triple.

Static Public Member Functions

static uint64_t decodeSignRotatedValue (uint64_t V)

Detailed Description

Definition at line 127 of file BitcodeReader.h.


Constructor & Destructor Documentation

llvm::BitcodeReader::BitcodeReader ( MemoryBuffer buffer,
LLVMContext C 
) [inline, explicit]

Definition at line 208 of file BitcodeReader.h.

llvm::BitcodeReader::BitcodeReader ( DataStreamer streamer,
LLVMContext C 
) [inline, explicit]

Definition at line 213 of file BitcodeReader.h.

Definition at line 218 of file BitcodeReader.h.

References FreeState().


Member Function Documentation

uint64_t BitcodeReader::decodeSignRotatedValue ( uint64_t  V) [static]

decodeSignRotatedValue - Decode a signed value stored with the sign bit in the LSB for dense VBR encoding.

Definition at line 1137 of file BitcodeReader.cpp.

Referenced by ReadWideAPInt().

void BitcodeReader::Dematerialize ( GlobalValue ) [override, virtual]

If the given GlobalValue is read in, and if the GVMaterializer supports it, release the memory for the GV, and set it up to be materialized lazily. If the Materializer doesn't support this capability, this method is a noop.

Reimplemented from llvm::GVMaterializer.

Definition at line 3339 of file BitcodeReader.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), llvm::Function::deleteBody(), llvm::dyn_cast(), and isDematerializable().

std::error_code llvm::BitcodeReader::Error ( BitcodeError  E) [inline]
bool BitcodeReader::isDematerializable ( const GlobalValue GV) const [override, virtual]

True if GV has been materialized and can be dematerialized back to whatever backing store this GVMaterializer uses.

Implements llvm::GVMaterializer.

Definition at line 3326 of file BitcodeReader.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::dyn_cast(), and llvm::GlobalValue::isDeclaration().

Referenced by Dematerialize().

bool BitcodeReader::isMaterializable ( const GlobalValue GV) const [override, virtual]

True if GV can be materialized from whatever backing store this GVMaterializer uses and has not been materialized yet.

Implements llvm::GVMaterializer.

Definition at line 3281 of file BitcodeReader.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), and llvm::GlobalValue::isDeclaration().

std::error_code BitcodeReader::Materialize ( GlobalValue GV) [override, virtual]
std::error_code BitcodeReader::MaterializeModule ( Module M) [override, virtual]
std::error_code BitcodeReader::ParseBitcodeInto ( Module M)
ErrorOr< std::string > BitcodeReader::parseTriple ( )

Definition at line 3279 of file BitcodeReader.cpp.


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