<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="gmail-h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>IE it is guaranteed to try to shrink a live range locally, and either succeed or do nothing.</div><div>That may or may not shrink a live range globally, and may increase the live range locally.</div><div><br></div><div><br></div><div>IE</div><div>       A</div><div>        | </div><div>A     |</div><div>|       | </div><div>|       | </div><div>A      A</div><div>       </div><div>A<br>|</div><div>|</div><div>A   </div><div><br></div><div>-></div><div><br></div><div>A<br>|</div><div>|<br>A   A</div><div>      |</div><div>      |</div><div>A   A</div><div>|</div><div>|<br>A</div><div><br></div><div><br></div><div>This has shrunk the live range of A locally, but made it worse globally.</div><div><br></div></div></div></div></blockquote><div><br></div></div></div></div></div></div></blockquote><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="gmail-h5"><div></div><div><br></div></div></div><div><font face="monospace">But at any program point, the max register pressure of the before case is 2, the after case is 1?</font></div></div></div></div></blockquote><div><br></div><div>Sorry, i meant to show that the new A range overlapped with both the ones on the left (IE before it was 2, now it's 3)</div><div><br></div><div>In any case, as i said, if you restrict it to the single use case the above should be impossible.</div><div><br></div></div></div></div>