<div dir="ltr">So, on the substantive side, this test case takes a reasonable amount of time with -print-memoryssa -analyze, so it's in GVNHoist's use of MemorySSA (it looks like it's making N^3 number of calls or something), and not MemorySSA itself.<div><br></div><div>It does make me realize we can make the initial use optimization even faster without taking a ton of memory though, and i'll go fix that. Someone needs to look at GVNHoist in the meanwhile :)</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 21, 2016 at 12:50 PM, 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">+george</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 21, 2016 at 12:49 PM, 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"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Thu, Jul 21, 2016 at 12:43 PM, Benjamin Kramer <span dir="ltr"><<a href="mailto:benny.kra@gmail.com" target="_blank">benny.kra@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">bkramer added a subscriber: bkramer.<br>
bkramer added a comment.<br>
<br>
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. </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> 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.<br></blockquote><div><br></div></span><div>I agree that GVNHoist probably should not be on by default yet regardless of anything else.</div><div><br></div><div>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) .</div><div><br></div><div>It's likely you just hit one of these cases.</div><span><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Sadly the test case is fairly large and being a compile time regression reduction is difficult, I believe Alina is working on that.<br>
<br></blockquote></span><div>Can you send me the testcase, even if large?<br></div><div><br></div><div>Alternatively, i'm curious if it's still an issue with George's latest walker commit.</div><div><br></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>