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

Geoff Berry via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 14 09:10:07 PDT 2016



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), 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.
>
>
> On Tue, Sep 13, 2016 at 12:10 PM, Geoff Berry <gberry at codeaurora.org 
> <mailto:gberry at codeaurora.org>> wrote:
>
>     gberry added a subscriber: gberry.
>     gberry added a comment.
>
>     I ran into the lack of an interface for this query in MemorySSA as
>     well in the EarlyCSE changes I was working on. I think what you
>     want is to be able to call instructionClobbersQuery() since that
>     knows about special intrinsics and meta-data as well.
>
>
>     https://reviews.llvm.org/D24517 <https://reviews.llvm.org/D24517>
>
>
>
>

-- 
Geoff Berry
Employee of Qualcomm Datacenter Technologies, Inc.
  Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

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


More information about the llvm-commits mailing list