LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::BitcodeReader Class Reference

#include <BitcodeReader.h>

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

Public Types

enum  ErrorType {
  BitcodeStreamInvalidSize, ConflictingMETADATA_KINDRecords, CouldNotFindFunctionInStream, ExpectedConstant,
  InsufficientFunctionProtos, InvalidBitcodeSignature, InvalidBitcodeWrapperHeader, InvalidConstantReference,
  InvalidID, InvalidInstructionWithNoBB, InvalidRecord, InvalidTypeForValue,
  InvalidTYPETable, InvalidType, MalformedBlock, MalformedGlobalInitializerSet,
  InvalidMultipleBlocks, NeverResolvedValueFoundInFunction, InvalidValue
}
 

Public Member Functions

error_code Error (ErrorType E)
 
 BitcodeReader (MemoryBuffer *buffer, LLVMContext &C)
 
 BitcodeReader (DataStreamer *streamer, LLVMContext &C)
 
 ~BitcodeReader ()
 
void materializeForwardReferencedFunctions ()
 
void FreeState ()
 
void setBufferOwned (bool Owned)
 
virtual bool isMaterializable (const GlobalValue *GV) const
 
virtual bool isDematerializable (const GlobalValue *GV) const
 
virtual error_code Materialize (GlobalValue *GV)
 
virtual error_code MaterializeModule (Module *M)
 
virtual void Dematerialize (GlobalValue *GV)
 
error_code ParseBitcodeInto (Module *M)
 Main interface to parsing a bitcode buffer. More...
 
error_code ParseTriple (std::string &Triple)
 Cheap mechanism to just extract module triple. More...
 
- Public Member Functions inherited from llvm::GVMaterializer
virtual ~GVMaterializer ()
 

Static Public Member Functions

static uint64_t decodeSignRotatedValue (uint64_t V)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::GVMaterializer
 GVMaterializer ()
 

Detailed Description

Definition at line 125 of file BitcodeReader.h.

Member Enumeration Documentation

Enumerator
BitcodeStreamInvalidSize 
ConflictingMETADATA_KINDRecords 
CouldNotFindFunctionInStream 
ExpectedConstant 
InsufficientFunctionProtos 
InvalidBitcodeSignature 
InvalidBitcodeWrapperHeader 
InvalidConstantReference 
InvalidID 
InvalidInstructionWithNoBB 
InvalidRecord 
InvalidTypeForValue 
InvalidTYPETable 
InvalidType 
MalformedBlock 
MalformedGlobalInitializerSet 
InvalidMultipleBlocks 
NeverResolvedValueFoundInFunction 
InvalidValue 

Definition at line 199 of file BitcodeReader.h.

Constructor & Destructor Documentation

llvm::BitcodeReader::BitcodeReader ( MemoryBuffer buffer,
LLVMContext C 
)
inlineexplicit

Definition at line 226 of file BitcodeReader.h.

llvm::BitcodeReader::BitcodeReader ( DataStreamer streamer,
LLVMContext C 
)
inlineexplicit

Definition at line 232 of file BitcodeReader.h.

llvm::BitcodeReader::~BitcodeReader ( )
inline

Definition at line 238 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 1065 of file BitcodeReader.cpp.

Referenced by ReadWideAPInt().

void BitcodeReader::Dematerialize ( GlobalValue )
virtual

Dematerialize - 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 3102 of file BitcodeReader.cpp.

References llvm::Function::deleteBody(), llvm::dyn_cast(), and isDematerializable().

error_code llvm::BitcodeReader::Error ( ErrorType  E)
inline

Definition at line 222 of file BitcodeReader.h.

Referenced by ParseBitcodeInto(), and ParseTriple().

void BitcodeReader::FreeState ( )
bool BitcodeReader::isDematerializable ( const GlobalValue GV) const
virtual

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

Implements llvm::GVMaterializer.

Definition at line 3095 of file BitcodeReader.cpp.

References llvm::dyn_cast(), and llvm::GlobalValue::isDeclaration().

Referenced by Dematerialize().

bool BitcodeReader::isMaterializable ( const GlobalValue GV) const
virtual

isMaterializable - 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 3052 of file BitcodeReader.cpp.

References llvm::GlobalValue::isDeclaration().

error_code BitcodeReader::Materialize ( GlobalValue GV)
virtual
void BitcodeReader::materializeForwardReferencedFunctions ( )

Definition at line 34 of file BitcodeReader.cpp.

References F(), and llvm::GlobalValue::Materialize().

error_code BitcodeReader::MaterializeModule ( Module M)
virtual
error_code BitcodeReader::ParseBitcodeInto ( Module M)
error_code BitcodeReader::ParseTriple ( std::string &  Triple)
void llvm::BitcodeReader::setBufferOwned ( bool  Owned)
inline

setBufferOwned - If this is true, the reader will destroy the MemoryBuffer when the reader is destroyed.

Definition at line 248 of file BitcodeReader.h.

Referenced by llvm::getBitcodeTargetTriple(), and llvm::getStreamedBitcodeModule().


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