<div dir="ltr">LGTM<div><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 25, 2016 at 3:10 PM, Sebastian Pop <span dir="ltr"><<a href="mailto:sebpop@gmail.com" target="_blank">sebpop@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">sebpop added a comment.<br>
<br>
Data from compiling the test-suite for x86_64-linux with -mllvm -stats and varying the flag:<br>
from the RegAlloc metrics we see that the minimum number of spills occurs for 100 and starts increasing back at 125.<br>
<br>
-gvn-hoist-max-depth=0:<br>
Number of rematerialized defs for spilling: 18286<br>
Number of rematerialized defs for splitting: 5727<br>
Number of spill slots allocated: 44014<br>
Number of spilled live ranges: 62657<br>
Number of spills inserted: 51753<br>
gvn-hoist.*: 0<br>
<br>
-gvn-hoist-max-depth=50:<br>
Number of rematerialized defs for spilling: 18213<br>
Number of rematerialized defs for splitting: 5827<br>
Number of spill slots allocated: 43956<br>
Number of spilled live ranges: 62539<br>
Number of spills inserted: 51643<br>
gvn-hoist.*Number of instructions hoisted: 21564<br>
gvn-hoist.*Number of instructions removed: 30019<br>
gvn-hoist.*Number of loads hoisted: 14697<br>
gvn-hoist.*Number of loads removed: 20247<br>
gvn-hoist.*Number of stores hoisted: 15<br>
gvn-hoist.*Number of stores removed: 15<br>
gvn-hoist.*Number of calls hoisted: 8<br>
gvn-hoist.*Number of calls removed: 8<br>
<br>
-gvn-hoist-max-depth=100:<br>
Number of rematerialized defs for spilling: 18223<br>
Number of rematerialized defs for splitting: 5817<br>
Number of spill slots allocated: 43961<br>
Number of spilled live ranges: 62521<br>
Number of spills inserted: 51623<br>
gvn-hoist.*Number of instructions hoisted: 21941<br>
gvn-hoist.*Number of instructions removed: 31106<br>
gvn-hoist.*Number of loads hoisted: 14951<br>
gvn-hoist.*Number of loads removed: 21063<br>
gvn-hoist.*Number of stores hoisted: 15<br>
gvn-hoist.*Number of stores removed: 15<br>
gvn-hoist.*Number of calls hoisted: 8<br>
gvn-hoist.*Number of calls removed: 8<br>
<br>
-gvn-hoist-max-depth=125:<br>
Number of rematerialized defs for spilling: 18223<br>
Number of rematerialized defs for splitting: 5817<br>
Number of spill slots allocated: 43969<br>
Number of spilled live ranges: 62520<br>
Number of spills inserted: 51632<br>
gvn-hoist.*Number of instructions hoisted: 22044<br>
gvn-hoist.*Number of instructions removed: 31308<br>
gvn-hoist.*Number of loads hoisted: 15034<br>
gvn-hoist.*Number of loads removed: 21221<br>
gvn-hoist.*Number of stores hoisted: 15<br>
gvn-hoist.*Number of stores removed: 15<br>
gvn-hoist.*Number of calls hoisted: 8<br>
gvn-hoist.*Number of calls removed: 8<br>
<br>
-gvn-hoist-max-depth=150:<br>
Number of rematerialized defs for spilling: 18223<br>
Number of rematerialized defs for splitting: 5817<br>
Number of spill slots allocated: 43970<br>
Number of spilled live ranges: 62516<br>
Number of spills inserted: 51627<br>
gvn-hoist.*Number of instructions hoisted: 22128<br>
gvn-hoist.*Number of instructions removed: 31467<br>
gvn-hoist.*Number of loads hoisted: 15086<br>
gvn-hoist.*Number of loads removed: 21322<br>
gvn-hoist.*Number of stores hoisted: 15<br>
gvn-hoist.*Number of stores removed: 15<br>
gvn-hoist.*Number of calls hoisted: 8<br>
gvn-hoist.*Number of calls removed: 8<br>
<br>
-gvn-hoist-max-depth=200:<br>
Number of rematerialized defs for spilling: 18223<br>
Number of rematerialized defs for splitting: 5817<br>
Number of spill slots allocated: 43993<br>
Number of spilled live ranges: 62552<br>
Number of spills inserted: 51661<br>
gvn-hoist.*Number of instructions hoisted: 22348<br>
gvn-hoist.*Number of instructions removed: 31864<br>
gvn-hoist.*Number of loads hoisted: 15200<br>
gvn-hoist.*Number of loads removed: 21542<br>
gvn-hoist.*Number of stores hoisted: 15<br>
gvn-hoist.*Number of stores removed: 15<br>
gvn-hoist.*Number of calls hoisted: 8<br>
gvn-hoist.*Number of calls removed: 8<br>
<br>
-gvn-hoist-max-depth=-1: (i.e., no bounds)<br>
Number of rematerialized defs for spilling: 18244<br>
Number of rematerialized defs for splitting: 5817<br>
Number of spill slots allocated: 44070<br>
Number of spilled live ranges: 62619<br>
Number of spills inserted: 51740<br>
gvn-hoist.*Number of instructions hoisted: 22508<br>
gvn-hoist.*Number of instructions removed: 32925<br>
gvn-hoist.*Number of loads hoisted: 15239<br>
gvn-hoist.*Number of loads removed: 22004<br>
gvn-hoist.*Number of stores hoisted: 15<br>
gvn-hoist.*Number of stores removed: 15<br>
gvn-hoist.*Number of calls hoisted: 8<br>
gvn-hoist.*Number of calls removed: 8<br>
<br>
<br>
<a href="https://reviews.llvm.org/D22772" rel="noreferrer" target="_blank">https://reviews.llvm.org/D22772</a><br>
<br>
<br>
<br>
</blockquote></div><br></div></div></div>