<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 27, 2014 at 4:34 AM, Joerg Sonnenberger <span dir="ltr"><<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sat, Dec 27, 2014 at 09:12:04AM +0000, David Majnemer wrote:<br>
> Determining the address of a TLS variable results in a function call in<br>
> certain TLS models.  This means that a simple ICmpInst might actually<br>
> result in invalidating the CTR register.<br>
<br>
</span>Why is %load not moved out of the loop?<br></blockquote><div><br></div><div>It could be if a middle-end pass decided to LICM it, there is no reason why it must be hoisted; we have the same issue with instructions which cannot be hoisted like volatile loads/stores/etc.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Joerg<br>
</font></span></blockquote></div><br></div></div>