[PATCH] D25172: [MSSA] Initial version of avoiding unnecessary use walks when calling getClobberingMemoryAccess

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 19 13:32:44 PDT 2016


This works in most cases, there are two it fails:

1. If you add invariant attributes after memoryssa (we have a unit test for
this)
Here, it will not notice them unless you specifically reset optimization

2. Removal of blocking stores causing equal phi arguments.

Removal of blocking stores we can take care of by resetting their uses

But when they cause phi arguments to become equal, we could walk past the
phi now but won't notice this.


Not sure if we care enough.


On Wed, Oct 19, 2016 at 1:03 PM, Daniel Berlin <dberlin at dberlin.org> wrote:

> dberlin updated this revision to Diff 75207.
> dberlin added a comment.
>
> - Move optimized flag to uses
> - Update to work in all update cases
>
>
> https://reviews.llvm.org/D25172
>
> Files:
>   include/llvm/Transforms/Utils/MemorySSA.h
>   lib/Transforms/Utils/MemorySSA.cpp
>   unittests/Transforms/Utils/MemorySSA.cpp
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161019/060336ab/attachment.html>


More information about the llvm-commits mailing list