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


Constructor & Destructor Documentation

Definition at line 52 of file BitcodeReader.h.

Definition at line 53 of file BitcodeReader.h.


Member Function Documentation

Definition at line 293 of file BitcodeReader.cpp.

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

Definition at line 74 of file BitcodeReader.h.

Definition at line 64 of file BitcodeReader.h.

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

Definition at line 76 of file BitcodeReader.h.

Definition at line 322 of file BitcodeReader.cpp.

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

Definition at line 338 of file BitcodeReader.cpp.

References resize(), and size().

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

Definition at line 69 of file BitcodeReader.h.

Referenced by ResolveConstantForwardRefs().

Definition at line 75 of file BitcodeReader.h.

Definition at line 60 of file BitcodeReader.h.

Referenced by AssignValue().

Definition at line 59 of file BitcodeReader.h.

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

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

References llvm::Constant::destroyConstant(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), I, llvm::User::op_begin(), llvm::User::op_end(), operator[](), and llvm::Value::replaceAllUsesWith().

Definition at line 77 of file BitcodeReader.h.

References size().

Definition at line 58 of file BitcodeReader.h.

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


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