<div dir="ltr">And here's a version that applies against george's patch</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 31, 2016 at 2:30 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">And since i had nothing to do this weekend, here's a version of my original patch (sorry george, it should be easy to port if you want it) that gets rid of the AccessType and UserList, and makes MemoryAccess's  User's, and uses LLVM's use lists and operand handling instead of our own (if we want to go that way).<div><div><br></div><div>1. I did not include printing support (IE it still requires our dump functions to print them, ASMWriter will give unknown blah blah blah).</div><div>2. All the code in MemoryPhi is copied from PhiNode.</div><div>3. It passes the tests i had under ASAN, so it seems to work ...<br></div><div><br></div><div>I'm also happy to do it as a followup to george's version.</div><div><br></div><div><br></div><div><div><br></div></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 30, 2016 at 11:00 AM, 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"><div class="gmail_extra"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><br>
</div></div>I see. Efficiency is certainly more important than purity. The reason<br>
I proposed that change is George's memory overhead concern -- the<br>
Users list currently has to be stored in the base class. The fixed<br>
cost per MemoryAccess using SmallPtrSet is 64 bytes.<br></blockquote><div><br></div><div><br></div></span><div>This is solvable by using User/Value here, and is likely the preferred solution over time.</div><div><br></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>