diff options
author | Adam Nemet <anemet@apple.com> | 2016-10-11 16:20:38 +0000 |
---|---|---|
committer | Adam Nemet <anemet@apple.com> | 2016-10-11 16:20:38 +0000 |
commit | e437504b30a1515080c370974e97875e50b89621 (patch) | |
tree | 7e53febe0a9d03fbc7b012ba1489f56036b31f95 | |
parent | 4415e96aec3e8f76b06ffdfa04dd9a4b4fd8850c (diff) | |
download | bcm5719-llvm-e437504b30a1515080c370974e97875e50b89621.tar.gz bcm5719-llvm-e437504b30a1515080c370974e97875e50b89621.zip |
[opt-viewer] Print hotness as percentage of the maximum hotness
llvm-svn: 283897
-rwxr-xr-x | llvm/utils/opt-viewer/opt-viewer.py | 11 |
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) |