================
@@ -1525,15 +1525,24 @@ Error 
MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
     if (Record.size() < 6 || Record.size() > 8)
       return error("Invalid record");
 
-    IsDistinct = Record[0];
+    IsDistinct = Record[0] & 1;
+    bool SizeIsMetadata = Record[0] & 2;
     DINode::DIFlags Flags = (Record.size() > 6)
                                 ? static_cast<DINode::DIFlags>(Record[6])
                                 : DINode::FlagZero;
     uint32_t NumExtraInhabitants = (Record.size() > 7) ? Record[7] : 0;
 
+    Metadata *SizeInBits;
+    if (SizeIsMetadata) {
+      SizeInBits = getMDOrNull(Record[3]);
+    } else {
+      SizeInBits = ConstantAsMetadata::get(
+          ConstantInt::get(Type::getInt64Ty(Context), Record[3]));
+    }
----------------
dwblaikie wrote:

Could use a conditional operator here (& similar places) - but I don't feel 
super strongly about it.

This appears a few times - might be worth a helper function?

https://github.com/llvm/llvm-project/pull/141106
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to