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