diff options
Diffstat (limited to 'llvm/utils/opt-viewer/opt-viewer.py')
-rwxr-xr-x | llvm/utils/opt-viewer/opt-viewer.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/llvm/utils/opt-viewer/opt-viewer.py b/llvm/utils/opt-viewer/opt-viewer.py index edfef85816f..7fd93600f00 100755 --- a/llvm/utils/opt-viewer/opt-viewer.py +++ b/llvm/utils/opt-viewer/opt-viewer.py @@ -36,10 +36,16 @@ class Remark(yaml.YAMLObject): def Column(self): return self.DebugLoc['Column'] - def getDebugLoc(self): + @property + def DebugLocString(self): return "{}:{}:{}".format(self.File, self.Line, self.Column) - def getLink(self): + @property + def DemangledFunctionName(self): + return demangle(self.Function) + + @property + def Link(self): return "{}#L{}".format(SourceFileRenderer.html_file_name(self.File), self.Line) def getArgString(self, pair): @@ -133,14 +139,14 @@ class IndexRenderer: def __init__(self): self.stream = open(os.path.join(args.output_dir, 'index.html'), 'w') - def render_entry(self, remark): - html = SourceFileRenderer.html_file_name(remark.File) - link = "<a href={}>{}</a>".format(remark.getLink(), remark.getDebugLoc()) - - dem_name = demangle(remark.Function) - print("<tr><td>{}<td>{}<td>{}<td class=\"column-entry-{}\">{}</tr>".format( - link, - remark.Hotness, dem_name, remark.color, remark.Pass), file=self.stream) + def render_entry(self, r): + print(''' +<tr> +<td><a href={r.Link}>{r.DebugLocString}</a></td> +<td>{r.Hotness}%</td> +<td>{r.DemangledFunctionName}</td> +<td class=\"column-entry-{r.color}\">{r.Pass}</td> +</tr>'''.format(**locals()), file=self.stream) def render(self, all_remarks): print(''' |