<div dir="ltr">SGTM.<div>I noticed, BTW, that a few of our xfailed tests actually work fine to test what they are mostly trying to test, the outputjust doesn't perfectly match yet due to lack of predicate handling.</div><div><br></div><div>For example, in calls-nonlocal, we eliminate all the strlen's, etc, which is what it claims to test.</div><div>We just don't propagate some of the equalities yet.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 26, 2016 at 9:52 AM, Davide Italiano <span dir="ltr"><<a href="mailto:dccitaliano@gmail.com" target="_blank">dccitaliano@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="">On Mon, Dec 26, 2016 at 9:47 AM, Daniel Berlin <<a href="mailto:dberlin@dberlin.org">dberlin@dberlin.org</a>> wrote:<br>
> I don't think NewGVN should do this, instead of a cleanup pass, unless it<br>
> actually produces better analysis results.<br>
><br>
> I'm already tempted to have us stop wasting time checking<br>
> isInstructionTriviallyDead.<br>
><br>
<br>
</span>I have that in my todolist. In my very non-systematic tests it doesn't<br>
actually improve things substantially.<br>
<span class=""><br>
> I know it matches what GVN does, but that doesn't seem a good reason to me,<br>
> and i don't see how it would improve a PRE that properly does dataflow<br>
> analysis.<br>
> In fact, you can prove it can't :)<br>
><br>
<br>
</span>I agree, see my comment in the bug <a href="https://llvm.org/bugs/show_bug.cgi?id=31468" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_<wbr>bug.cgi?id=31468</a><br>
<span class=""><br>
> (if the branch is unconditional, and can be merged, it's existence should<br>
> provably not affect the solution to PRE's dataflow equations).<br>
><br>
> Does it actually improve elimination?<br>
><br>
<br>
</span>I don't think it does, in fact I think it makes sense to just change<br>
the test. I'm all for changing behaviour between old and newGVN when<br>
it's needed.<br>
<br>
Thanks!<br>
<br>
--<br>
Davide<br>
</blockquote></div><br></div>