[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