LLVM API Documentation

llvm::BytecodeFormat Class Reference

#include <Format.h>

List of all members.

Public Types

 Module = 0x01
 Function = 0x11
 ConstantPool
 SymbolTable
 ModuleGlobalInfo
 GlobalTypePlane
 DependentLibs
 BasicBlock = 0x31
 InstructionList = 0x32
 CompactionTable = 0x33
 Reserved_DoNotUse = 0x00
 Don't use this!
 ModuleBlockID = 0x01
 1.3 identifier for modules
 FunctionBlockID = 0x02
 1.3 identifier for Functions
 ConstantPoolBlockID = 0x03
 1.3 identifier for constant pool
 SymbolTableBlockID = 0x04
 1.3 identifier for symbol table
 ModuleGlobalInfoBlockID = 0x05
 1.3 identifier for module globals
 GlobalTypePlaneBlockID = 0x06
 1.3 identifier for global types
 InstructionListBlockID = 0x07
 1.3 identifier for insruction list
 CompactionTableBlockID = 0x08
 1.3 identifier for compaction tables
 NumberOfBlockIDs
enum  FileBlockIDs {
  Module = 0x01, Function = 0x11, ConstantPool, SymbolTable,
  ModuleGlobalInfo, GlobalTypePlane, DependentLibs, BasicBlock = 0x31,
  InstructionList = 0x32, CompactionTable = 0x33
}
enum  CompressedBytecodeBlockIdentifiers {
  Reserved_DoNotUse = 0x00, ModuleBlockID = 0x01, FunctionBlockID = 0x02, ConstantPoolBlockID = 0x03,
  SymbolTableBlockID = 0x04, ModuleGlobalInfoBlockID = 0x05, GlobalTypePlaneBlockID = 0x06, InstructionListBlockID = 0x07,
  CompactionTableBlockID = 0x08, NumberOfBlockIDs
}
 The block number identifiers used in LLVM 1.3 bytecode format. More...


Detailed Description

Definition at line 20 of file Format.h.


Member Enumeration Documentation

enum llvm::BytecodeFormat::CompressedBytecodeBlockIdentifiers

The block number identifiers used in LLVM 1.3 bytecode format.

In LLVM 1.3 format, the identifier and the size of the block are encoded into a single vbr_uint32 with 5 bits for the block identifier and 27-bits for block length. This limits blocks to a maximum of 128MBytes of data, and block types to 31 which should be sufficient for the foreseeable usage. Because the values of block identifiers MUST fit within 5 bits (values 1-31), this enumeration is used to ensure smaller values are used for 1.3 and subsequent bytecode versions.

Enumerator:
Reserved_DoNotUse  Don't use this!
ModuleBlockID  1.3 identifier for modules
FunctionBlockID  1.3 identifier for Functions
ConstantPoolBlockID  1.3 identifier for constant pool
SymbolTableBlockID  1.3 identifier for symbol table
ModuleGlobalInfoBlockID  1.3 identifier for module globals
GlobalTypePlaneBlockID  1.3 identifier for global types
InstructionListBlockID  1.3 identifier for insruction list
CompactionTableBlockID  1.3 identifier for compaction tables
NumberOfBlockIDs 

Definition at line 62 of file Format.h.

enum llvm::BytecodeFormat::FileBlockIDs

Enumerator:
Module 
Function 
ConstantPool 
SymbolTable 
ModuleGlobalInfo 
GlobalTypePlane 
DependentLibs 
BasicBlock 
InstructionList 
CompactionTable 

Definition at line 25 of file Format.h.


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