[llvm] [StaticDataLayout][PGO]Implement reader and writer change for data access profiles (PR #139997)

Snehasish Kumar via llvm-commits llvm-commits at lists.llvm.org
Wed May 21 11:10:25 PDT 2025


================
@@ -251,17 +256,29 @@ static Error writeMemProfRadixTreeBased(
   uint64_t RecordTableOffset = writeMemProfRecords(
       OS, MemProfData.Records, &Schema, Version, &MemProfCallStackIndexes);
 
+  uint64_t DataAccessProfOffset = 0;
+  if (DataAccessProfileData.has_value()) {
+    assert(Version >= memprof::Version4 &&
+           "Data access profiles are added starting from v4");
+    DataAccessProfOffset = OS.tell();
+    if (Error E = (*DataAccessProfileData).get().serialize(OS))
----------------
snehasish wrote:

This awkward derefence of optional should go away if we make it a plain std::unique_ptr.

https://github.com/llvm/llvm-project/pull/139997


More information about the llvm-commits mailing list