LLVM  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::BitCodeAbbrevOp Class Reference

BitCodeAbbrevOp - This describes one or more operands in an abbreviation. More...

#include <BitCodes.h>

Public Types

enum  Encoding {
  Fixed = 1, VBR = 2, Array = 3, Char6 = 4,
  Blob = 5
}
 

Public Member Functions

 BitCodeAbbrevOp (uint64_t V)
 
 BitCodeAbbrevOp (Encoding E, uint64_t Data=0)
 
bool isLiteral () const
 
bool isEncoding () const
 
uint64_t getLiteralValue () const
 
Encoding getEncoding () const
 
uint64_t getEncodingData () const
 
bool hasEncodingData () const
 

Static Public Member Functions

static bool hasEncodingData (Encoding E)
 
static bool isChar6 (char C)
 isChar6 - Return true if this character is legal in the Char6 encoding. More...
 
static unsigned EncodeChar6 (char C)
 
static char DecodeChar6 (unsigned V)
 

Detailed Description

BitCodeAbbrevOp - This describes one or more operands in an abbreviation.

This is actually a union of two different things:

  1. It could be a literal integer value ("the operand is always 17").
  2. It could be an encoding specification ("this operand encoded like so").

Definition at line 87 of file BitCodes.h.

Member Enumeration Documentation

Enumerator
Fixed 
VBR 
Array 
Char6 
Blob 

Definition at line 92 of file BitCodes.h.

Constructor & Destructor Documentation

llvm::BitCodeAbbrevOp::BitCodeAbbrevOp ( uint64_t  V)
inlineexplicit

Definition at line 100 of file BitCodes.h.

llvm::BitCodeAbbrevOp::BitCodeAbbrevOp ( Encoding  E,
uint64_t  Data = 0 
)
inlineexplicit

Definition at line 101 of file BitCodes.h.

Member Function Documentation

static char llvm::BitCodeAbbrevOp::DecodeChar6 ( unsigned  V)
inlinestatic

Definition at line 148 of file BitCodes.h.

References llvm_unreachable.

Referenced by readAbbreviatedField().

static unsigned llvm::BitCodeAbbrevOp::EncodeChar6 ( char  C)
inlinestatic

Definition at line 139 of file BitCodes.h.

References llvm_unreachable.

Encoding llvm::BitCodeAbbrevOp::getEncoding ( ) const
inline
uint64_t llvm::BitCodeAbbrevOp::getEncodingData ( ) const
inline

Definition at line 112 of file BitCodes.h.

References hasEncodingData(), and isEncoding().

Referenced by readAbbreviatedField(), and skipAbbreviatedField().

uint64_t llvm::BitCodeAbbrevOp::getLiteralValue ( ) const
inline

Definition at line 108 of file BitCodes.h.

References isLiteral().

Referenced by llvm::BitstreamCursor::readRecord().

bool llvm::BitCodeAbbrevOp::hasEncodingData ( ) const
inline
static bool llvm::BitCodeAbbrevOp::hasEncodingData ( Encoding  E)
inlinestatic

Definition at line 118 of file BitCodes.h.

References Array, Blob, Char6, Fixed, llvm::report_fatal_error(), and VBR.

static bool llvm::BitCodeAbbrevOp::isChar6 ( char  C)
inlinestatic

isChar6 - Return true if this character is legal in the Char6 encoding.

Definition at line 132 of file BitCodes.h.

Referenced by WriteConstants(), WriteStringRecord(), and WriteValueSymbolTable().

bool llvm::BitCodeAbbrevOp::isEncoding ( ) const
inline

Definition at line 105 of file BitCodes.h.

Referenced by getEncoding(), getEncodingData(), and llvm::BitstreamCursor::readRecord().

bool llvm::BitCodeAbbrevOp::isLiteral ( ) const
inline

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