diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-03-06 17:55:45 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-03-06 17:55:45 +0000 |
| commit | 1a175715d0955122890f07b95a4dac4f7b012ca4 (patch) | |
| tree | 067bdc73d2ef088d5a2ed7cdee1815ab4bd8e8b7 /llvm/lib/Bytecode/Reader/ReaderInternals.h | |
| parent | c8f563bed1bc5555ff078486e3bed1c49a25d6e9 (diff) | |
| download | bcm5719-llvm-1a175715d0955122890f07b95a4dac4f7b012ca4.tar.gz bcm5719-llvm-1a175715d0955122890f07b95a4dac4f7b012ca4.zip | |
Infrastructure for more compact bytecode files and REAL support for versioning
llvm-svn: 5716
Diffstat (limited to 'llvm/lib/Bytecode/Reader/ReaderInternals.h')
| -rw-r--r-- | llvm/lib/Bytecode/Reader/ReaderInternals.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Bytecode/Reader/ReaderInternals.h b/llvm/lib/Bytecode/Reader/ReaderInternals.h index 9ed7e29e2cf..09a21d71e4b 100644 --- a/llvm/lib/Bytecode/Reader/ReaderInternals.h +++ b/llvm/lib/Bytecode/Reader/ReaderInternals.h @@ -57,6 +57,12 @@ public: private: // All of this data is transient across calls to ParseBytecode Module *TheModule; // Current Module being read into... + // Information about the module, extracted from the bytecode revision number. + unsigned char RevisionNum; // The rev # itself + unsigned char FirstDerivedTyID; // First variable index to use for type + bool HasImplicitZeroInitializer; // Is entry 0 of every slot implicity zeros? + bool isBigEndian, hasLongPointers;// Information about the target compiled for + typedef std::vector<Value *> ValueList; typedef std::vector<ValueList> ValueTable; ValueTable Values, LateResolveValues; @@ -78,9 +84,6 @@ private: // All of this data is transient across calls to ParseBytecode TypeValuesListTy ModuleTypeValues; TypeValuesListTy FunctionTypeValues; - // Information read from the ModuleGlobalInfo section of the file... - unsigned FirstDerivedTyID; - // When the ModuleGlobalInfo section is read, we load the type of each // function and the 'ModuleValues' slot that it lands in. We then load a // placeholder into its slot to reserve it. When the function is loaded, this @@ -90,6 +93,7 @@ private: // All of this data is transient across calls to ParseBytecode private: bool ParseModule (const uchar * Buf, const uchar *End); + bool ParseVersionInfo (const uchar *&Buf, const uchar *End); bool ParseModuleGlobalInfo(const uchar *&Buf, const uchar *End); bool ParseSymbolTable (const uchar *&Buf, const uchar *End, SymbolTable *); bool ParseFunction (const uchar *&Buf, const uchar *End); |

