<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 14, 2016 at 9:10 AM, Geoff Berry <span dir="ltr"><<a href="mailto:gberry@codeaurora.org" target="_blank">gberry@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span class="">
<p><br>
</p>
<br>
<div>On 9/13/2016 4:04 PM, Daniel Berlin
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Interesting.</div>
<div>Sebastian has two problems:<br>
<br>
</div>
<div>1. No MemorySSA form handles *hoisting* stores (not gcc,
not open64's mu/chi/etc).</div>
<div>It requires building the reverse problem to make these
links exist.<br>
</div>
<div><br>
</div>
<div>Instead, most things *sink* stores, which MemorySSA makes
easy.</div>
<div>See SSUPRE, etc.</div>
<div><br>
</div>
<div>2. If you are going to write your own walkers, etc, we
don't make it easy enough.</div>
<div><br>
</div>
<div>My initial view is: Rather than do this as a completely
separate piece by piece query interface, the intention was for
folks to write custom walkers, and use those.</div>
<div>For example, the code in this patch could be written as a
MemorySSA walker that implemented "getClobberingMemoryAccess"
for stores.</div>
<div>It has a different definition of what it means to be a
clobbering memory access than the default walker.</div>
<div>That's okay.</div>
<div><br>
</div>
<div>*Inside of walkers*, we should make
instructionClobbersQuery available.<br>
</div>
<div><br>
</div>
<div>Thoughts?</div>
<div><br>
</div>
</div>
</blockquote></span>
I'm not sure I see the distinction, other than as a code
organization one (which is a fine reason),</div></blockquote><div><br></div><div>Yes</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"> if the idea is you want
all of the custom walkers in one place so you can more easily make
changes to the MemorySSA interface/invariants.</div></blockquote><div><br></div><div>Yes.</div><div><br></div></div></div></div>