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

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 2 10:16:14 PST 2020


jdoerfert marked an inline comment as done.
jdoerfert added a comment.

In D73426#1853506 <https://reviews.llvm.org/D73426#1853506>, @uenoku wrote:

> Are there tests for `inaccessiblememonly` or `inaccessiblemem_or_argmemonly`?


Good catch. I think I forgot to merge in tests from an old version. Will add tests for both.



================
Comment at: llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll:303
 ; CHECK-NEXT:    [[TMP3:%.*]] = bitcast <8 x i64>* [[TMP]] to i8*
-; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull align 32 dereferenceable(64) [[TMP3]], i8 0, i64 32, i1 false)
+; CHECK-NEXT:    call void @llvm.memset.p0i8.i64(i8* nonnull writeonly align 32 dereferenceable(64) [[TMP3]], i8 0, i64 32, i1 false)
 ; CHECK-NEXT:    call fastcc void @callee_avx2_legal512_prefer256_call_avx2_legal256_prefer256(<8 x i64>* noalias nocapture nofree nonnull writeonly align 32 dereferenceable(64) [[TMP2]], <8 x i64>* noalias nocapture nofree nonnull readonly align 32 dereferenceable(64) [[TMP]])
----------------
uenoku wrote:
> Why is there new `writeonly`? Is it simply by on-demand creation?
I think so. `memset` is known `argmemonly` and `writeonly` anyway.


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