<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 15, 2016 at 6:12 AM, Sebastian Pop <span dir="ltr"><<a href="mailto:sebpop.llvm@gmail.com" target="_blank">sebpop.llvm@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">>> liveOnEntry uses cannot be reached by walking through the MSSA.<br>
</span><span class="">> These will both be uses of the live on entry access.<br>
> It's a real access, it has real uses :)<br>
<br>
</span>I see, now it makes sense.<br>
I was under the impression that one cannot walk through the uses of liveOnEntry.<br>
<span class=""><br>
> Given how we determine aliasing, and we use optimize, an aliased load must<br>
> be attached to *either* live on entry, *or* a store that clobbers your store<br>
<br>
</span>Agreed.<br>
<span class=""><br>
> Note: I don't claim this is efficient or sensible. I'm simply refuting the<br>
> claim that they literally cannot be extracted.<br>
><br>
> They can.<br>
> It's just inefficient as hell :)<br>
<br>
</span>I'll send a patch implementing your algorithm.<br>
I think it still could be more efficient than the patch I sent,<br>
as it would ask the alias question only for the liveOnEntry loads.<br></blockquote><div><br></div><div>Sadly, I think this will fail when the use-opt limit is hit.</div><div>I have a patch that can fix this that i owe Geoff Berry anyway.</div><div><br></div></div><br></div></div>