LLVM API Documentation

llvm::BitstreamWriter Class Reference

#include <BitstreamWriter.h>

Collaboration diagram for llvm::BitstreamWriter:
[legend]

List of all members.

Public Member Functions

 BitstreamWriter (std::vector< unsigned char > &O)
 ~BitstreamWriter ()
std::vector< unsigned char > & getBuffer ()
void Emit (uint32_t Val, unsigned NumBits)
void Emit64 (uint64_t Val, unsigned NumBits)
void FlushToWord ()
void EmitVBR (uint32_t Val, unsigned NumBits)
void EmitVBR64 (uint64_t Val, unsigned NumBits)
void EmitCode (unsigned Val)
 EmitCode - Emit the specified code.
void BackpatchWord (unsigned ByteNo, unsigned NewWord)
BlockInfo * getBlockInfo (unsigned BlockID)
void EnterSubblock (unsigned BlockID, unsigned CodeLen)
void ExitBlock ()
template<typename uintty>
void EmitRecord (unsigned Code, SmallVectorImpl< uintty > &Vals, unsigned Abbrev=0)
unsigned EmitAbbrev (BitCodeAbbrev *Abbv)
void EnterBlockInfoBlock (unsigned CodeWidth)
 EnterBlockInfoBlock - Start emitting the BLOCKINFO_BLOCK.
unsigned EmitBlockInfoAbbrev (unsigned BlockID, BitCodeAbbrev *Abbv)

Classes

struct  Block
struct  BlockInfo


Detailed Description

Definition at line 23 of file BitstreamWriter.h.


Constructor & Destructor Documentation

llvm::BitstreamWriter::BitstreamWriter ( std::vector< unsigned char > &  O  )  [inline, explicit]

Definition at line 62 of file BitstreamWriter.h.

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

Definition at line 65 of file BitstreamWriter.h.

References BlockInfo.


Member Function Documentation

std::vector<unsigned char>& llvm::BitstreamWriter::getBuffer (  )  [inline]

Definition at line 80 of file BitstreamWriter.h.

Referenced by llvm::WriteBitcodeToStream().

void llvm::BitstreamWriter::Emit ( uint32_t  Val,
unsigned  NumBits 
) [inline]

void llvm::BitstreamWriter::Emit64 ( uint64_t  Val,
unsigned  NumBits 
) [inline]

Definition at line 109 of file BitstreamWriter.h.

References Emit().

void llvm::BitstreamWriter::FlushToWord (  )  [inline]

Definition at line 118 of file BitstreamWriter.h.

References V.

Referenced by EnterSubblock(), ExitBlock(), and llvm::Serializer::~Serializer().

void llvm::BitstreamWriter::EmitVBR ( uint32_t  Val,
unsigned  NumBits 
) [inline]

Definition at line 130 of file BitstreamWriter.h.

References Emit(), and Threshold.

Referenced by EmitRecord(), EmitVBR64(), and EnterSubblock().

void llvm::BitstreamWriter::EmitVBR64 ( uint64_t  Val,
unsigned  NumBits 
) [inline]

Definition at line 142 of file BitstreamWriter.h.

References Emit(), EmitVBR(), and Threshold.

Referenced by EmitRecord().

void llvm::BitstreamWriter::EmitCode ( unsigned  Val  )  [inline]

EmitCode - Emit the specified code.

Definition at line 159 of file BitstreamWriter.h.

References Emit().

Referenced by EmitRecord(), EnterSubblock(), and ExitBlock().

void llvm::BitstreamWriter::BackpatchWord ( unsigned  ByteNo,
unsigned  NewWord 
) [inline]

Definition at line 165 of file BitstreamWriter.h.

Referenced by EmitDarwinBCTrailer(), and ExitBlock().

BlockInfo* llvm::BitstreamWriter::getBlockInfo ( unsigned  BlockID  )  [inline]

getBlockInfo - If there is block info for the specified ID, return it, otherwise return null.

Definition at line 178 of file BitstreamWriter.h.

Referenced by EnterSubblock().

void llvm::BitstreamWriter::EnterSubblock ( unsigned  BlockID,
unsigned  CodeLen 
) [inline]

void llvm::BitstreamWriter::ExitBlock (  )  [inline]

template<typename uintty>
void llvm::BitstreamWriter::EmitRecord ( unsigned  Code,
SmallVectorImpl< uintty > &  Vals,
unsigned  Abbrev = 0 
) [inline]

unsigned llvm::BitstreamWriter::EmitAbbrev ( BitCodeAbbrev *  Abbv  )  [inline]

EmitAbbrev - This emits an abbreviation to the stream. Note that this method takes ownership of the specified abbrev.

Definition at line 357 of file BitstreamWriter.h.

References llvm::bitc::FIRST_APPLICATION_ABBREV.

Referenced by WriteConstants(), WriteModuleInfo(), WriteTypeSymbolTable(), and WriteTypeTable().

void llvm::BitstreamWriter::EnterBlockInfoBlock ( unsigned  CodeWidth  )  [inline]

EnterBlockInfoBlock - Start emitting the BLOCKINFO_BLOCK.

Definition at line 370 of file BitstreamWriter.h.

References llvm::bitc::BLOCKINFO_BLOCK_ID, and EnterSubblock().

Referenced by WriteBlockInfo().

unsigned llvm::BitstreamWriter::EmitBlockInfoAbbrev ( unsigned  BlockID,
BitCodeAbbrev *  Abbv 
) [inline]

EmitBlockInfoAbbrev - Emit a DEFINE_ABBREV record for the specified BlockID.

Definition at line 399 of file BitstreamWriter.h.

References BlockInfo, and llvm::bitc::FIRST_APPLICATION_ABBREV.

Referenced by WriteBlockInfo().


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