LLVM API Documentation

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

#include <BitcodeReader.h>

Public Member Functions

 BitcodeReaderValueList (LLVMContext &C)
 
 ~BitcodeReaderValueList ()
 
unsigned size () const
 
void resize (unsigned N)
 
void push_back (Value *V)
 
void clear ()
 
Valueoperator[] (unsigned i) const
 
Valueback () const
 
void pop_back ()
 
bool empty () const
 
void shrinkTo (unsigned N)
 
ConstantgetConstantFwdRef (unsigned Idx, Type *Ty)
 
ValuegetValueFwdRef (unsigned Idx, Type *Ty)
 
void AssignValue (Value *V, unsigned Idx)
 
void ResolveConstantForwardRefs ()
 

Detailed Description

Definition at line 36 of file BitcodeReader.h.

Constructor & Destructor Documentation

llvm::BitcodeReaderValueList::BitcodeReaderValueList ( LLVMContext C)
inline

Definition at line 50 of file BitcodeReader.h.

llvm::BitcodeReaderValueList::~BitcodeReaderValueList ( )
inline

Definition at line 51 of file BitcodeReader.h.

Member Function Documentation

void BitcodeReaderValueList::AssignValue ( Value V,
unsigned  Idx 
)

Definition at line 232 of file BitcodeReader.cpp.

References push_back(), resize(), and size().

Value* llvm::BitcodeReaderValueList::back ( ) const
inline

Definition at line 72 of file BitcodeReader.h.

void llvm::BitcodeReaderValueList::clear ( )
inline

Definition at line 62 of file BitcodeReader.h.

Referenced by llvm::BitcodeReader::FreeState().

bool llvm::BitcodeReaderValueList::empty ( ) const
inline

Definition at line 74 of file BitcodeReader.h.

Constant * BitcodeReaderValueList::getConstantFwdRef ( unsigned  Idx,
Type Ty 
)

Definition at line 261 of file BitcodeReader.cpp.

References llvm::CallingConv::C, resize(), and size().

Value * BitcodeReaderValueList::getValueFwdRef ( unsigned  Idx,
Type Ty 
)

Definition at line 277 of file BitcodeReader.cpp.

References resize(), and size().

Value* llvm::BitcodeReaderValueList::operator[] ( unsigned  i) const
inline

Definition at line 67 of file BitcodeReader.h.

Referenced by ResolveConstantForwardRefs().

void llvm::BitcodeReaderValueList::pop_back ( )
inline

Definition at line 73 of file BitcodeReader.h.

void llvm::BitcodeReaderValueList::push_back ( Value V)
inline

Definition at line 58 of file BitcodeReader.h.

Referenced by AssignValue().

void llvm::BitcodeReaderValueList::resize ( unsigned  N)
inline

Definition at line 57 of file BitcodeReader.h.

Referenced by AssignValue(), getConstantFwdRef(), and getValueFwdRef().

void BitcodeReaderValueList::ResolveConstantForwardRefs ( )

ResolveConstantForwardRefs - Once all constants are read, this method bulk resolves any forward references.

ResolveConstantForwardRefs - Once all constants are read, this method bulk resolves any forward references. The idea behind this is that we sometimes get constants (such as large arrays) which reference many forward ref constants. Replacing each of these causes a lot of thrashing when building/reuniquing the constant. Instead of doing this, we look at all the uses and rewrite all the place holders at once for any constant that uses a placeholder.

Definition at line 302 of file BitcodeReader.cpp.

References llvm::Constant::destroyConstant(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::value_use_iterator< UserTy >::getUse(), I, llvm::User::op_begin(), llvm::User::op_end(), operator[](), llvm::Value::replaceAllUsesWith(), and llvm::Use::set().

void llvm::BitcodeReaderValueList::shrinkTo ( unsigned  N)
inline

Definition at line 75 of file BitcodeReader.h.

References size().

unsigned llvm::BitcodeReaderValueList::size ( ) const
inline

Definition at line 56 of file BitcodeReader.h.

Referenced by AssignValue(), getConstantFwdRef(), getValueFwdRef(), and shrinkTo().


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