diff options
author | Jan Voung <jvoung@gmail.com> | 2024-05-01 13:58:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-01 10:58:05 -0700 |
commit | 28869a704ef59471cee6c750f2566b133b0ff391 (patch) | |
tree | f0bbc4c40ec0e9be96d0651e965040ba6f1a1a25 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | cf3c714e4bd7b8a68793f2827080fe3388ae8bb1 (diff) | |
download | llvm-28869a704ef59471cee6c750f2566b133b0ff391.zip llvm-28869a704ef59471cee6c750f2566b133b0ff391.tar.gz llvm-28869a704ef59471cee6c750f2566b133b0ff391.tar.bz2 |
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 <jvoung@google.com>
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 0b7fcd8..a0779f9 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; |