<div dir="ltr">Yeah, i don't either.<div>At this point, why don't we just have it own the caching walker and see what it breaks.</div><div><br></div><div>I know we almost certainly want walkers that memoryssa doesn't own (see bug 27740 - the best way i can think of to do this is to have a walker that GVN uses and understands GVN's specific value equivalence knowledge )</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 31, 2016 at 5:31 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">george.burgess.iv added inline comments.<br>
<br>
================<br>
Comment at: include/llvm/Transforms/Utils/MemorySSA.h:592<br>
@@ -595,3 +591,3 @@<br>
   // Memory SSA building info<br>
-  MemorySSAWalker *Walker;<br>
+  std::unique_ptr<MemorySSAWalker> Walker;<br>
   unsigned NextID;<br>
----------------<br>
FWIW, I think Danny wasn't a massive fan of MSSA owning the caching walker. I don't fully recall why, though.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D19664" rel="noreferrer" target="_blank">http://reviews.llvm.org/D19664</a><br>
<br>
<br>
<br>
</blockquote></div><br></div>