LLVM API Documentation

Public Member Functions
llvm::BitcodeReaderValueList Class Reference

#include <BitcodeReader.h>

List of all members.

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 35 of file BitcodeReader.h.


Constructor & Destructor Documentation

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

Definition at line 49 of file BitcodeReader.h.

llvm::BitcodeReaderValueList::~BitcodeReaderValueList ( ) [inline]

Definition at line 50 of file BitcodeReader.h.


Member Function Documentation

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

Definition at line 229 of file BitcodeReader.cpp.

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

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

Definition at line 71 of file BitcodeReader.h.

void llvm::BitcodeReaderValueList::clear ( ) [inline]

Definition at line 61 of file BitcodeReader.h.

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

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

Definition at line 73 of file BitcodeReader.h.

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

Definition at line 258 of file BitcodeReader.cpp.

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

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

Definition at line 274 of file BitcodeReader.cpp.

References resize(), and size().

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

Definition at line 66 of file BitcodeReader.h.

Referenced by ResolveConstantForwardRefs().

void llvm::BitcodeReaderValueList::pop_back ( ) [inline]

Definition at line 72 of file BitcodeReader.h.

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

Definition at line 57 of file BitcodeReader.h.

Referenced by AssignValue().

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

Definition at line 56 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 299 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 74 of file BitcodeReader.h.

References size().

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

Definition at line 55 of file BitcodeReader.h.

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


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