<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 1, 2016 at 10:08 PM, George Burgess IV <span dir="ltr"><<a href="mailto:george.burgess.iv@gmail.com" target="_blank">george.burgess.iv@gmail.com</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"><span class="">> <span style="font-size:12.8px">I'm not sure such a flag makes sense, given the above.  I'm not sure you *want* to try to alternate between them, because a lot of your order of magnitude  speedups will come from doing things fundamentally different than random querying (IE move to more "SSA-like" algorithms).</span><div><span style="font-size:12.8px"><br></span></div></span><div><span style="font-size:12.8px">Then, do you know of a better way to allow people to opt-in/opt-out of using MemorySSA? Or do you not see the transition to MemorySSA causing many issues? (I'm assuming it's the latter. :) )</span></div></div></blockquote><div><br></div><div>The latter, because it's like saying "should we allow people to opt in/out of memdep". ;)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">> </span><span style="font-size:12.8px">If you do the optimizations, i'm happy to start to convert passes. I was going to just do them in close to the order necessary to preserve memssa from beginning to end of opts that use it, but happy to do whatever. </span><span style="font-size:12.8px">Converting most passes requires building an update API, and converting a few of them and seeing what they want out of updating is the best way i can think of to design that API.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">WFM * 2. I'll start with the things that we ripped out, then look at MemDep to figure out what tricks it has up its sleeve. If there's anywhere else you would recommend looking?</span></div></div></blockquote><div><br></div><div>I would start by taking GVN testcases for invariants, etc, and seeing where memdep vs memssa give different dependency answers.</div><div><br></div><div>(You may want to make a silly memdepprinter if there isn't one)</div><div><br></div></div></div></div>