<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 20, 2016 at 11:30 AM, 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>
<span class=""><br>
On Thu, Sep 15, 2016 at 11:11 AM, Daniel Berlin <<a href="mailto:dberlin@dberlin.org">dberlin@dberlin.org</a>> wrote:<br>
<br>
> Sadly, I think this will fail when the use-opt limit is hit.<br>
<br>
<br>
</span>What about committing the patch that I already sent:<br>
<span class=""><br>
> The current patch visits all loads on the path from the store to<br>
<br>
>  be hoisted to the hoisting position and uses the alias analysis<br>
<br>
>  to ask whether the store may alias the load.<br>
<br>
<br>
</span>I think the patch is already quite efficient in terms of compile time<br>
because we limit the hoist distance to avoid register pressure issues.<br>
Because the number of instructions on the path is bounded, we<br>
will also have the bounds on the number of alias questions asked.<br></blockquote><div><br></div><div>I'm fine with this for the second, until we have time to see if we really want to try to expose something like instructionClobbersQuery or do something more structured around store hoisting.</div><div><br></div><div>We know we won't have this problem with load hoisting or store sinking, so ...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Danny, is it okay to commit the patch as it is?<br></blockquote><div><br></div><div>I'm going to review it quickly to make sure it has no obvious algorithmic issues.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<a href="https://reviews.llvm.org/D24517" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D24517</a><br>
<br>
<br>
<br>
</blockquote></div><br></div></div>