[PATCH] D22639: Add flag to PassManagerBuilder to disable GVN Hoist Pass.

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 12:49:49 PDT 2016


On Thu, Jul 21, 2016 at 12:43 PM, Benjamin Kramer <benny.kra at gmail.com>
wrote:

> bkramer added a subscriber: bkramer.
> bkramer added a comment.
>
> The problem is not a Halide test but a scalability issue in MemorySSA
> that's making Halide unusable, consuming gigabytes of memory and taking
> forever.



Personally, I don't think the GVNHoist pass is ready for prime time yet and
> needs more testing, like we did for other passes that were first rigorously
> tested under a flag before being enabled by default. Going directly from
> zero to default with a major new optimization infrastructure (MemSSA) is a
> recipe for disaster.
>

I agree that GVNHoist probably should not be on by default yet regardless
of anything else.

George recently (IE this week) replaced the walker in MemorySSA because
we've known from the beginning that there were significant scaling issues
in the original impl (it could use N^2 memory and time easily with the
caching scheme it used) .

It's likely you just hit one of these cases.


> Sadly the test case is fairly large and being a compile time regression
> reduction is difficult, I believe Alina is working on that.
>
> Can you send me the testcase, even if large?

Alternatively, i'm curious if it's still an issue with George's latest
walker commit.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160721/13947738/attachment.html>


More information about the llvm-commits mailing list