[PATCH] D24517: GVN-hoist: fix store past load dependence analysis (PR30216)

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 14 10:05:16 PDT 2016


On Wed, Sep 14, 2016 at 9:10 AM, Geoff Berry <gberry at codeaurora.org> wrote:

>
>
> On 9/13/2016 4:04 PM, Daniel Berlin wrote:
>
> Interesting.
> Sebastian has two problems:
>
> 1. No MemorySSA form handles *hoisting* stores (not gcc, not open64's
> mu/chi/etc).
> It requires building the reverse problem to make these links exist.
>
> Instead, most things *sink* stores, which MemorySSA makes easy.
> See SSUPRE, etc.
>
> 2. If you are going to write your own walkers, etc, we don't make it easy
> enough.
>
> 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.
> For example, the code in this patch could be written as a MemorySSA walker
> that implemented "getClobberingMemoryAccess" for stores.
> It has a different definition of what it means to be a clobbering memory
> access than the default walker.
> That's okay.
>
> *Inside of walkers*, we should make instructionClobbersQuery available.
>
> Thoughts?
>
> I'm not sure I see the distinction, other than as a code organization one
> (which is a fine reason),
>

Yes


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

Yes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160914/1b57fd6c/attachment.html>


More information about the llvm-commits mailing list