LLVM  4.0.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 94 of file BitCodes.h.

Member Enumeration Documentation

Enumerator
Fixed 
VBR 
Array 
Char6 
Blob 

Definition at line 99 of file BitCodes.h.

Constructor & Destructor Documentation

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

Definition at line 107 of file BitCodes.h.

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

Definition at line 108 of file BitCodes.h.

Member Function Documentation

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

Definition at line 155 of file BitCodes.h.

References assert().

Referenced by readAbbreviatedField(), and llvm::BitstreamCursor::readRecord().

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

Definition at line 146 of file BitCodes.h.

References llvm_unreachable.

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

Definition at line 115 of file BitCodes.h.

References assert(), and isLiteral().

Referenced by llvm::BitstreamCursor::readRecord(), and llvm::BitstreamCursor::skipRecord().

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

Definition at line 125 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 139 of file BitCodes.h.

Referenced by getStringEncoding(), and writeStringRecord().

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

Definition at line 112 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: