[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects
Jeroen Dobbelaere via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 10 11:25:18 PDT 2020
jeroen.dobbelaere added a comment.
In D74935#1909909 <https://reviews.llvm.org/D74935#1909909>, @jdoerfert wrote:
> I would say that once we get modeling for indirect restrict we can adapt the lang ref accordingly. For now there is only have outer level restrict/noalias.
Why not try to get right now ? The first reason that you give for the change in wording is
> '1. To match the restrict semantics when we lower it to noalias.'
Currently there is no mechanism to accurately describe nested restrict pointers in LLVM-IR. imho, that means that
we should adapt the wording in a more specific way. Something like:
This guarantee only holds for memory locations that are *modified*, by any means, during the execution the function.
+ Note that, just like C99 restrict, in this context, memory locations whose content is used as a pointer value to modify a memory location,
+ are also considered to modify the former memory locations.
The attribute....
>
>
>>> 2. The extended `noalias` deduction D73428 <https://reviews.llvm.org/D73428>.
[..]
>> That sounds good. Is there also a testcase (similar to D74935#1907100 <https://reviews.llvm.org/D74935#1907100> or D74935#1907939 <https://reviews.llvm.org/D74935#1907939> ) that explicitly checks that 'noalias' is not deduced ?
>
> I'll add one :)
thanks !
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74935/new/
https://reviews.llvm.org/D74935
More information about the llvm-commits
mailing list