[llvm-dev] [MemorySSA] Potential CachingMemorySSAWalker bug

George Burgess IV via llvm-dev llvm-dev at lists.llvm.org
Mon May 2 11:16:54 PDT 2016

Yeah, that sounds like a fun bug. I'll take a look later today and see what
I can find out. :)

On Fri, Apr 29, 2016 at 2:55 PM, Geoff Berry <gberry at codeaurora.org> wrote:

> Hi guys,
> 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.
> 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.
> --
> Geoff Berry
> Employee of Qualcomm Innovation Center, Inc.
>  Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160502/0be6f783/attachment.html>

More information about the llvm-dev mailing list