[llvm] r283897 - [opt-viewer] Print hotness as percentage of the maximum hotness

Adam Nemet via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 11 09:20:38 PDT 2016


Author: anemet
Date: Tue Oct 11 11:20:38 2016
New Revision: 283897

URL: http://llvm.org/viewvc/llvm-project?rev=283897&view=rev
Log:
[opt-viewer] Print hotness as percentage of the maximum hotness

Modified:
    llvm/trunk/utils/opt-viewer/opt-viewer.py

Modified: llvm/trunk/utils/opt-viewer/opt-viewer.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/opt-viewer/opt-viewer.py?rev=283897&r1=283896&r2=283897&view=diff
==============================================================================
--- llvm/trunk/utils/opt-viewer/opt-viewer.py (original)
+++ llvm/trunk/utils/opt-viewer/opt-viewer.py Tue Oct 11 11:20:38 2016
@@ -24,6 +24,8 @@ def demangle(name):
     return p.stdout.readline().rstrip()
 
 class Remark(yaml.YAMLObject):
+    max_hotness = 0
+
     @property
     def File(self):
         return self.DebugLoc['File']
@@ -60,6 +62,10 @@ class Remark(yaml.YAMLObject):
         values = [self.getArgString(mapping.items()[0]) for mapping in self.Args]
         return demangle("".join(values))
 
+    @property
+    def RelativeHotness(self):
+        return int(round(self.Hotness * 100 / Remark.max_hotness))
+
 class Analysis(Remark):
     yaml_tag = '!Analysis'
 
@@ -102,7 +108,7 @@ class SourceFileRenderer:
         print('''
 <tr>
 <td></td>
-<td>{r.Hotness}</td>
+<td>{r.RelativeHotness}%</td>
 <td class=\"column-entry-{r.color}\">{r.Pass}</td>
 <td class=\"column-entry-yellow\">{r.message}</td>
 </tr>'''.format(**locals()), file=self.stream)
@@ -143,7 +149,7 @@ class IndexRenderer:
         print('''
 <tr>
 <td><a href={r.Link}>{r.DebugLocString}</a></td>
-<td>{r.Hotness}%</td>
+<td>{r.RelativeHotness}%</td>
 <td>{r.DemangledFunctionName}</td>
 <td class=\"column-entry-{r.color}\">{r.Pass}</td>
 </tr>'''.format(**locals()), file=self.stream)
@@ -181,6 +187,7 @@ for input_file in args.yaml_files:
         if hasattr(remark, 'Hotness'):
             file_remarks.setdefault(remark.File, dict()).setdefault(remark.Line, []).append(remark);
             all_remarks.append(remark)
+            Remark.max_hotness = max(Remark.max_hotness, remark.Hotness)
 
 all_remarks = sorted(all_remarks, key=lambda r: r.Hotness, reverse=True)
 




More information about the llvm-commits mailing list