<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Conditionalize code gen based on hotness/coldness"
href="https://bugs.llvm.org/show_bug.cgi?id=36404">36404</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Conditionalize code gen based on hotness/coldness
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>All
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>GlobalISel
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>dave@znu.io
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>This bug is a followup to discussion in:
<a href="https://reviews.llvm.org/D43201">https://reviews.llvm.org/D43201</a>
It would be great if the compiler could conditionalize code gen based on the
hot/cold nature of functions and/or basic blocks. Anecdotally speaking (from my
experience at Apple), improving overall code density tends to improve overall
system performance. That being said, microbenchmarks sometimes suffer.
It would be great if LLVM could optimize for "reasonable size" (i.e. not
micro-coded; a.k.a. -Os not -Oz) by default and then switch to throughput
optimized code gen when evidence suggests that a "hot path" exists. At best,
evidence can include profile guided optimization and explicit source
attributes; and at worst simple heuristics.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>