[Bitcode] Don't use UINT_MAX for missing SanitizerMetadata
authorVitaly Buka <vitalybuka@google.com>
Sat, 11 Jun 2022 01:20:55 +0000 (18:20 -0700)
committerVitaly Buka <vitalybuka@google.com>
Sat, 11 Jun 2022 01:20:55 +0000 (18:20 -0700)
Looks like comment on D126100 was unnoticed.

llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

index cd253c1..b8d5faa 100644 (file)
@@ -3557,7 +3557,7 @@ Error BitcodeReader::parseGlobalVarRecord(ArrayRef<uint64_t> Record) {
   if (Record.size() > 15)
     NewGV->setPartition(StringRef(Strtab.data() + Record[14], Record[15]));
 
-  if (Record.size() > 16 && Record[16] != UINT_MAX) {
+  if (Record.size() > 16 && Record[16]) {
     llvm::GlobalValue::SanitizerMetadata Meta =
         deserializeSanitizerMetadata(Record[16]);
     NewGV->setSanitizerMetadata(Meta);
index 691b332..a8a6b3f 100644 (file)
@@ -1386,10 +1386,9 @@ void ModuleBitcodeWriter::writeModuleInfo() {
       Vals.push_back(addToStrtab(GV.getPartition()));
       Vals.push_back(GV.getPartition().size());
 
-      if (GV.hasSanitizerMetadata())
-        Vals.push_back(serializeSanitizerMetadata(GV.getSanitizerMetadata()));
-      else
-        Vals.push_back(UINT_MAX);
+      Vals.push_back((GV.hasSanitizerMetadata() ? serializeSanitizerMetadata(
+                                                      GV.getSanitizerMetadata())
+                                                : 0));
     } else {
       AbbrevToUse = SimpleGVarAbbrev;
     }