Bytecode format for LLVM 1.2 no longer explicitly encodes zeros in primitive
[oota-llvm.git] / lib / Bytecode / Reader / ReaderInternals.h
index d6a934da077b687bddce54c7d8bfd9f9bd06c1a5..4c0b310fcf450f28f39fd8e6c996d81bfbd97934 100644 (file)
@@ -97,10 +97,16 @@ private:
 
   bool usesOldStyleVarargs;         // Does this module USE old style varargs?
 
-  // LLVM 1.0 & 1.1 had an explicit alignment of data only for the
-  // ModuleGlobalInfo block.  This was fixed to be like all other blocks in 1.2
+  // Flags to distinguish LLVM 1.0 & 1.1 bytecode formats (revision #0)
+
+  // Revision #0 had an explicit alignment of data only for the ModuleGlobalInfo
+  // block.  This was fixed to be like all other blocks in 1.2
   bool hasInconsistentModuleGlobalInfo;
 
+  // Revision #0 also explicitly encoded zero values for primitive types like
+  // int/sbyte/etc.
+  bool hasExplicitPrimitiveZeros;
+
   typedef std::vector<ValueList*> ValueTable;
   ValueTable Values;
   ValueTable ModuleValues;