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

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 26 01:15:01 PST 2020


jdoerfert created this revision.
jdoerfert added reviewers: uenoku, sstefan1, baziotis.
Herald added subscribers: bollu, hiraditya.
Herald added a project: LLVM.

In addition to memory behavior attributes (readonly/writeonly) we now
derive memory location attributes (argmemonly/inaccessiblememonly/...).
The former is part of AAMemoryBehavior and the latter part of
AAMemoryLocation. While they are similar in nature it got messy when
they were put in a single AA. It also seems unreasonable to have the
location attributes for arguments and floating values.

Note that both memory attributes kinds can derive readnone. If there are
no accesses AAMemoryBehavior will derive readnone. If there are accesses
but only to stack (=local) locations AAMemoryLocation will derive
readnone.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D73426

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
  llvm/test/Transforms/Attributor/liveness.ll
  llvm/test/Transforms/Attributor/nonnull.ll
  llvm/test/Transforms/Attributor/nosync.ll
  llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
  llvm/test/Transforms/Attributor/returned.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73426.240420.patch
Type: text/x-patch
Size: 42121 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200126/89bf9111/attachment-0001.bin>


More information about the llvm-commits mailing list