<div dir="ltr">Ugh, please replace the lifetime starts with invariant starts</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Aug 6, 2016 at 9:30 AM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">So, this value forwards in a case i hadn't thought about.<div><br></div><div>foo = lifetime.start(p)</div><div><stuff><br>bar = lifetime.start(p)</div><div>lifetime.end (bar)</div><div><br></div><div>will become</div><div><div>foo = lifetime.start(p)</div><div><stuff><br>bar = lifetime.start(p)</div><div>lifetime.end (foo)</div></div><div><br></div><div><br></div><div>I'm not sure the above is even valid, but i found it in Real Live Code(TM).</div><div><br></div><div>Thoughts?<br><br></div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 5, 2016 at 10:15 PM, Anna Thomas <span dir="ltr"><<a href="mailto:anna@azul.com" target="_blank">anna@azul.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">anna added a comment.<br>
<br>
Changing the code to teach Alias analysis (instead of MDA) about the readonly nature of MDA. All the tests are still valid (and checks remain the same).<br>
getModRefInfo is used by MDA, so the implications on the various passes (GVN, Memcpyopt and DSE) should be the same, it’s just that the code change will be within the same code region where other special cases for llvm.assume and guard intrinsics exist.<br>
<br>
Making the change in alias analysis rather than MDA stemmed from the discussion in llvm-commits mailing list with dberlin and sanjoy.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D23214" rel="noreferrer" target="_blank">https://reviews.llvm.org/D2321<wbr>4</a><br>
<br>
<br>
<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>