From 28869a704ef59471cee6c750f2566b133b0ff391 Mon Sep 17 00:00:00 2001 From: Jan Voung Date: Wed, 1 May 2024 13:58:05 -0400 Subject: Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610) (#90692) This reverts commit 2aabfc811670beb843074c765c056fff4a7b443b. Add fixes to LLD and Gold tests missed in original change. Co-authored-by: Jan Voung --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp') diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 0b7fcd884188..a0779f955cf2 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -7513,9 +7513,14 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(unsigned ID) { TheIndex.setFlags(Record[0]); break; } - case bitc::FS_VALUE_GUID: { // [valueid, refguid] + case bitc::FS_VALUE_GUID: { // [valueid, refguid_upper32, refguid_lower32] uint64_t ValueID = Record[0]; - GlobalValue::GUID RefGUID = Record[1]; + GlobalValue::GUID RefGUID; + if (Version >= 10) { + RefGUID = Record[1] << 32 | Record[2]; + } else { + RefGUID = Record[1]; + } ValueIdToValueInfoMap[ValueID] = std::make_tuple( TheIndex.getOrInsertValueInfo(RefGUID), RefGUID, RefGUID); break; -- cgit v1.2.3