[llvm] [ThinLTO]Sort imported GUIDs before cache key update (PR #92622)
via llvm-commits
llvm-commits at lists.llvm.org
Fri May 17 17:01:56 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lto
Author: Mingming Liu (minglotus-6)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/92622.diff
1 Files Affected:
- (modified) llvm/lib/LTO/LTO.cpp (+9-1)
``````````diff
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp
index 53060df7f503e..afc687a02d965 100644
--- a/llvm/lib/LTO/LTO.cpp
+++ b/llvm/lib/LTO/LTO.cpp
@@ -199,13 +199,21 @@ void llvm::computeLTOCacheKey(
[](const ImportModule &Lhs, const ImportModule &Rhs) -> bool {
return Lhs.getHash() < Rhs.getHash();
});
+ std::vector<uint64_t> ImportedGUIDs;
for (const ImportModule &Entry : ImportModulesVector) {
auto ModHash = Entry.getHash();
Hasher.update(ArrayRef<uint8_t>((uint8_t *)&ModHash[0], sizeof(ModHash)));
AddUint64(Entry.getFunctions().size());
+
+ ImportedGUIDs.clear();
for (auto &Fn : Entry.getFunctions())
- AddUint64(Fn);
+ ImportedGUIDs.push_back(Fn);
+
+ llvm::sort(ImportedGUIDs);
+
+ for (auto &GUID : ImportedGUIDs)
+ AddUint64(GUID);
}
// Include the hash for the resolved ODR.
``````````
</details>
https://github.com/llvm/llvm-project/pull/92622
More information about the llvm-commits
mailing list