[PATCH] D66207: [Attributor] Add CallSiteArgument and Argument AbstractAttribute for noalias

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 13:47:20 PDT 2019


jdoerfert added a comment.

Can we make prioritize this, at least a simple version which is almost done, just the additional argument checks are missing (see below).



================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:1398
+  if (!NoAliasAA || !NoAliasAA->isAssumedNoAlias())
+    return indicatePessimisticFixpoint();
+
----------------
jdoerfert wrote:
> This is a good first step.
> 
> For an extension we could do something like this: 
> https://reviews.llvm.org/D50125#C1138972NL755
> 
See my example below, we need to check the other uses in the call site as I did in the link above.


================
Comment at: llvm/test/Transforms/FunctionAttrs/noalias.ll:164
+  ret void
+}
----------------
```
; TEST 11
; CallSite Test

declare void @test11_helper(i8* %a, i8 *%b)
define void @test11(i8* noalias %a) {
; CHECK: define void @test11(i8* noalias %a)
; CHECK-NEXT:   tail call void @test11_helper(i8* %a, i8* %a)
  tail call void @test11_helper(i8* %a)
  ret void
}
```


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

https://reviews.llvm.org/D66207





More information about the llvm-commits mailing list