<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jul 2, 2016 at 6:35 PM, Gerolf Hoflehner <span dir="ltr"><<a href="mailto:ghoflehner@apple.com" target="_blank">ghoflehner@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
Sent from my iPhone<br>
<span class=""><br>
> On Jul 2, 2016, at 5:15 PM, Eli Friedman <<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>> wrote:<br>
><br>
> eli.friedman added a subscriber: eli.friedman.<br>
> eli.friedman added a comment.<br>
><br>
> Special-casing this in DSE makes no sense... alias analysis should always return the correct result.<br>
><br>
> In this case, alias analysis is correct; the definition of "tail" doesn't allow marking this call.<br>
<br>
</span>Why?<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br>It could work in theory, but in practice it isn't documented in LangRef and isn't actually supported by the current implementation; tailcallelim doesn't mark calls with byval arguments as "tail", optimization passes aren't expecting it, and targets aren't expecting it.  I mean, it could be changed, but it's not just a simple bugfix.<br><br></div><div>-Eli<br></div></div></div></div>