[PATCH] D100010: [GreedyRA ORE] Compute ORE stats if extra analysis is enabled

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 6 20:26:50 PDT 2021


skatkov created this revision.
skatkov added reviewers: reames, MatzeB, anemet.
Herald added subscribers: dantrushin, hiraditya, qcolombet.
skatkov requested review of this revision.
Herald added a project: LLVM.

To save compile time, avoid computation of stats if ORE will not emit it.
The motivation is to add more stats and compute it only if it will dumped.


https://reviews.llvm.org/D100010

Files:
  llvm/lib/CodeGen/RegAllocGreedy.cpp


Index: llvm/lib/CodeGen/RegAllocGreedy.cpp
===================================================================
--- llvm/lib/CodeGen/RegAllocGreedy.cpp
+++ llvm/lib/CodeGen/RegAllocGreedy.cpp
@@ -552,13 +552,7 @@
                                     unsigned &FoldedSpills);
 
   /// Report the number of spills and reloads for each loop.
-  void reportNumberOfSplillsReloads() {
-    for (MachineLoop *L : *Loops) {
-      unsigned Reloads, FoldedReloads, Spills, FoldedSpills;
-      reportNumberOfSplillsReloads(L, Reloads, FoldedReloads, Spills,
-                                   FoldedSpills);
-    }
-  }
+  void reportNumberOfSplillsReloads();
 };
 
 } // end anonymous namespace
@@ -3183,6 +3177,16 @@
   }
 }
 
+void RAGreedy::reportNumberOfSplillsReloads() {
+  if (!ORE->allowExtraAnalysis(DEBUG_TYPE))
+    return;
+  for (MachineLoop *L : *Loops) {
+    unsigned Reloads, FoldedReloads, Spills, FoldedSpills;
+    reportNumberOfSplillsReloads(L, Reloads, FoldedReloads, Spills,
+                                 FoldedSpills);
+  }
+}
+
 bool RAGreedy::runOnMachineFunction(MachineFunction &mf) {
   LLVM_DEBUG(dbgs() << "********** GREEDY REGISTER ALLOCATION **********\n"
                     << "********** Function: " << mf.getName() << '\n');


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100010.335706.patch
Type: text/x-patch
Size: 1262 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210407/84254ed4/attachment.bin>


More information about the llvm-commits mailing list