summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2016-10-11 16:20:38 +0000
committerAdam Nemet <anemet@apple.com>2016-10-11 16:20:38 +0000
commite437504b30a1515080c370974e97875e50b89621 (patch)
tree7e53febe0a9d03fbc7b012ba1489f56036b31f95
parent4415e96aec3e8f76b06ffdfa04dd9a4b4fd8850c (diff)
downloadbcm5719-llvm-e437504b30a1515080c370974e97875e50b89621.tar.gz
bcm5719-llvm-e437504b30a1515080c370974e97875e50b89621.zip
[opt-viewer] Print hotness as percentage of the maximum hotness
llvm-svn: 283897
-rwxr-xr-xllvm/utils/opt-viewer/opt-viewer.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/utils/opt-viewer/opt-viewer.py b/llvm/utils/opt-viewer/opt-viewer.py
index 7fd93600f00..d29b74f0023 100755
--- a/llvm/utils/opt-viewer/opt-viewer.py
+++ b/llvm/utils/opt-viewer/opt-viewer.py
@@ -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)
OpenPOWER on IntegriCloud