[llvm] [llvm-profgen][SPGO] Support profiles with multiple concurrent processes (PR #169353)
Wei Wang via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 9 16:47:27 PST 2025
================
@@ -396,19 +402,31 @@ class ProfiledBinary {
StringRef getPath() const { return Path; }
StringRef getName() const { return llvm::sys::path::filename(Path); }
- uint64_t getBaseAddress() const { return BaseAddress; }
- void setBaseAddress(uint64_t Address) { BaseAddress = Address; }
+ uint64_t getPIDBaseAddress(int32_t PID) const {
+ auto Pos = BaseAddressByPID.find(PID);
+ if (Pos == BaseAddressByPID.end()) {
+ // Use preferred address as the default base address.
+ return getPreferredBaseAddress();
+ }
+
+ return Pos->second;
+ }
+ void setPIDBaseAddress(int32_t PID, uint64_t Address) {
----------------
apolloww wrote:
Same as above.
https://github.com/llvm/llvm-project/pull/169353
More information about the llvm-commits
mailing list