[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
> 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...
More information about the llvm-dev