diff options
author | Chris Lattner <sabre@nondot.org> | 2004-10-16 18:18:16 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-10-16 18:18:16 +0000 |
commit | a79e7cca0dff44092b0b1a17a26a7af4bebc9d5d (patch) | |
tree | e27af97fff1823de4435867d0f239b553ecc0043 /lib/Bytecode/Reader/Reader.h | |
parent | 16710e9574c6750d3cb7788cc4ab78bc9e970d9a (diff) |
Add support for undef, unreachable, and function flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17054 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/Reader.h')
-rw-r--r-- | lib/Bytecode/Reader/Reader.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/Bytecode/Reader/Reader.h b/lib/Bytecode/Reader/Reader.h index ed8c3e1a61..89d079d3f6 100644 --- a/lib/Bytecode/Reader/Reader.h +++ b/lib/Bytecode/Reader/Reader.h @@ -298,17 +298,29 @@ private: /// alignment of bytecode fields was done away with completely. bool hasAlignment; - // In version 4, basic blocks have a minimum index of 0 whereas all the + // In version 4 and earlier, the bytecode format did not support the 'undef' + // constant. + bool hasNoUndefValue; + + // In version 4 and earlier, the bytecode format did not save space for flags + // in the global info block for functions. + bool hasNoFlagsForFunctions; + + // In version 4 and earlier, there was no opcode space reserved for the + // unreachable instruction. + bool hasNoUnreachableInst; + + // In version 5, basic blocks have a minimum index of 0 whereas all the // other primitives have a minimum index of 1 (because 0 is the "null" // value. In version 5, we made this consistent. bool hasInconsistentBBSlotNums; - // In version 4, the types SByte and UByte were encoded as vbr_uint so that + // In version 5, the types SByte and UByte were encoded as vbr_uint so that // signed values > 63 and unsigned values >127 would be encoded as two // bytes. In version 5, they are encoded directly in a single byte. bool hasVBRByteTypes; - // In version 4, modules begin with a "Module Block" which encodes a 4-byte + // In version 5, modules begin with a "Module Block" which encodes a 4-byte // integer value 0x01 to identify the module block. This is unnecessary and // removed in version 5. bool hasUnnecessaryModuleBlockId; |