<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 7, 2016 at 6:08 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 class="">On Mon, Nov 7, 2016 at 5:37 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Danny,<br>
<br>
MemoryLocation does not apply to calls directly because a call can easily affect multiple locations. </blockquote><div><br></div><div><br></div></span><div>Yes, but people often just want to  know "does instruction def/ref/nothing the memory of other instruction"</div><div><br></div></div></div></div></blockquote><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 class="gmail_extra"><div class="gmail_quote"><div></div><div>They don't often want to care about exactly what type of instruction they are holding in their hand, and at least right now, it doesn't just work all the time, you have to know what you are holding in your hands.</div><div><br></div><div>They also don't often care about specific locations.</div><div><br></div><div>If we think we can make that work all the time, awesome, let's do that.</div></div></div></div></blockquote><div><br></div><div>If you want a motivating use case, look at the mess that MemorySSA.cpp has to try to get answers to a simple question like "Is the memory of this instruction used/def'd by this other instruction"  (see instructionClobbersQuery, etc) with any sort of accuracy. </div><div><br></div><div>It's consistent with the machinations others try to go through as well.</div><div>In a perfect world, we have an API hides stuff like this.</div><div><br></div><div>(i'll ignore the phi translation part, which, arguably, may or may not belong in that implementation)</div><div><br></div><div><br></div><div><br></div></div></div></div>