<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>