[PATCH] D107097: [llvm-profgen] Support perf script without parsing MMap events
    Wenlei He via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Aug  2 10:47:18 PDT 2021
    
    
  
wenlei added a comment.
Thanks for making the changes. It's almost ready, except two more tweaks.
================
Comment at: llvm/tools/llvm-profgen/PerfReader.cpp:657-664
+      auto &isLoadedByMMap = Sample->Binary->getIsLoadedByMMap();
+      if (isLoadedByMMap.hasValue() && !isLoadedByMMap) {
+        WithColor::warning()
+            << "No relevant mmap event is matched, will use preferred "
+               "address as the base loading address!\n";
+        // Avoid redundant warning, only warn at the first unmatched sample.
+        isLoadedByMMap.reset();
----------------
Would it be cleaner if we move this to be after line 646 - at that point, we've located the binary using top addresses from stack sample, and we're ready to warn even if we don't get any lbr extracted due to leading outgoing branches.
================
Comment at: llvm/tools/llvm-profgen/ProfiledBinary.h:145
+  // the preferred address
+  Optional<bool> isLoadedByMMap;
+
----------------
Do we need a three-way Optional value here? Would it work if we just always initialize it to false, and set it to true when mmap is seen for the binary? 
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107097/new/
https://reviews.llvm.org/D107097
    
    
More information about the llvm-commits
mailing list