<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi guys,</p>
    <p>I think I have run into another CachingMemorySSAWalker cache
      bug.  It's a bit tricky to reproduce, so I'd like to start by
      trying to show you what is happening when running EarlyCSE with my
      local changes to use MemorySSA.  I've attached a debug log that
      shows that the value returned by getClobberingMemoryAccess(Inst)
      after a call to removeMemoryAccess is wrong.  The MemorySSA node
      in question is MemoryUse(7), and the corruption happens after a
      call to remove MemoryUse(2), at which point its clobber value
      changes to '1 = MemoryDef(liveOnEntry)'.  The interesting thing is
      that is doesn't seem to be the first call to
      getClobberingMemoryAccess after the removal that causes the
      corruption, but rather the second.  You'll notice that I added
      calls to getClobberingMemoryAccess when doing MSSA.dump(), which
      is what I'm using to attempt to figure out when the cache gets
      corrupted.<br>
    </p>
    Hopefully this is enough information to debug the problem.  If not
    perhaps we can look at getting my EarlyCSE changes checked in in a
    disabled state so you can reproduce the problem directly.  I'm also
    happy to help debug it farther.<br>
    <pre class="moz-signature" cols="72">-- 
Geoff Berry
Employee of Qualcomm Innovation Center, Inc.
 Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
</pre>
  </body>
</html>