[PATCH] D73426: [Attributor] Derive memory location attributes (argmemonly, ...)

Hideto Ueno via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 13 23:20:07 PST 2020


uenoku accepted this revision.
uenoku added a comment.
This revision is now accepted and ready to land.

In D73426#1875667 <https://reviews.llvm.org/D73426#1875667>, @jdoerfert wrote:

> > I think a state without `NO_UNKOWN_MEM` is semantically identical to a pessimistic fixpoint, right?
>
> In this patch probably true. With D73527 <https://reviews.llvm.org/D73527> users can iterate over the "unknown" accesses and determine their original on their own. Once we give up, we do not guarantee all accesses are tracked.


I understand.

LGTM.



================
Comment at: llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll:17
 ; CHECK-LABEL: define {{[^@]+}}@run()
 ; CHECK-NEXT:  entry:
 ; CHECK-NEXT:    unreachable
----------------
jdoerfert wrote:
> uenoku wrote:
> > Is this change caused by this patch? 
> Yes. With this patch `@CaptureAStruct` is known to be `readnone` which makes all operations we delete here side-effect free, thus AAIsDead removes them for us. It was not `readnone` before because there are loads and stores but only to local memory.
Oh, I understand. It's interesting.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73426/new/

https://reviews.llvm.org/D73426





More information about the llvm-commits mailing list