[PATCH] D32151: Last of the major pieces to NewGVN - yay!

Piotr Padlewski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 18 11:08:47 PDT 2017


Prazek added a comment.

In https://reviews.llvm.org/D32151#729291, @dberlin wrote:

> In https://reviews.llvm.org/D32151#728967, @Prazek wrote:
>
> > Good job! How many of old gvn tests are still failing with newgvn?
>
>
>   1. Of them:
> 1. NewGVN passes all but one or two subtest of each of them.
> 2. Most of them are things we need to fix in other infrastructure (IE be able to have simplification use value numbering to ignore blocks, etc).
> 3. The one significant one is that we don't insert inequalities temporarily, which means that we don't eliminate opposite icmps that are not branches.
>
>   IE we will handle:
>
>
>
>   if (a)
>     if (!a)
>  
>   but not:
>   icmp a == b
>   icmp a != b
>
>
> NewGVN is actually on by default for a number of significant LLVM users at this point :)
>  It also has 15 tests that *GVN* doesn't pass.
>
> Our goal was never to try to get every GVN test before we turned it on by default, only not regress performance :)
>  Most people already felt GVN did too much. 
>  I suspect we will meet that goal.


Awesome news! I will try to fix the MemorySSA to support invariant.groups, but for that I will need your help (see the mail) :)


https://reviews.llvm.org/D32151





More information about the llvm-commits mailing list