[llvm-dev] [RFC] NewGVN

Davide Italiano via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 18 11:54:25 PST 2016

On Fri, Nov 18, 2016 at 8:43 AM, Philip Reames via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Glad to see this landing!  It's been a long time coming.
> Once this is in, please do not turn it on by default immediately.  Let's
> call for volunteers to find some of the most egregious miscompiles, fix
> them, and then turn this on by default.

There are no immediate plans to enable NewGVN by default (at least,
not in the near future). In fact, the mail that I originally wrote
doesn't at all mention the switch, neither any follow-ups from me or
Daniel, so, I'm not entirely sure where you got that idea from. If you
take a look more closely (at the mail, or a the patch), you'll realize
that "key" pieces that are in old GVN are still missing. The most
noticeable are PRE and load coercion. In other words, the patch
proposed is not (yet) on par with what the current GVN does (although
all the missing pieces are already implemented out-of-tree).

Also, let me try to clarify one point. This is already a call for
volunteers. If you feel adventurous, you can download the
patch/apply/test/report issues. I can and I will spend time
integrating the rest of the work and fix all the reported
bugs/miscompiles. If there's something that can we do in a cleaner
way, a discussion will happen on the mailing list/on the review thread
and everybody will have a chance to comment, as it's happening for the
initial patch (and as I always try to do).

Once the first patch lands, I'll commit a temporary cl::opt to enable
NewGVN for those interested in testing and send another CFT e-mail.
FWIW, The patch had already a round of light testing internally. Of
course, this is not enough or indicative of its maturity/robustness. I
plan to have it tested more carefully inside my organization in

That said, thanks for you input.


More information about the llvm-dev mailing list