jdoerfert added a comment.

In D74935#1909054 <https://reviews.llvm.org/D74935#1909054>, @jeroen.dobbelaere 
wrote:
> In D74935#1908665 <https://reviews.llvm.org/D74935#1908665>, @jdoerfert wrote:
>
> > I think we conflate two things here:
> >
> > 1. The modifications to the LangRef which should be in accordance with the 
> > C standard (at least I haven't seen you contradict the new wording 
> > directly).
>
>
> imho, the proposed wording is still confusing, and does not handle the case 
> with the extra indirections.
>  Unless the 'by any means' was meant to also include the  '.. Every  access  
> that modifies X shall be considered also to modify P,for the purposes of this 
> subclause. .. ' from the restrict specification.
>  If that is the idea, we should mention it explicitly.


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.

>> 2. The extended `noalias` deduction D73428 <https://reviews.llvm.org/D73428>.
>> 
>>   If you look at the commit message in D73428 
>> <https://reviews.llvm.org/D73428>, it says that `noalias` is not just 
>> derived for all `readonly` arguments. In your example we access `unknown` 
>> memory, e.g., `**pA=42`, so case (1) cannot be applied. For case (2) we need 
>> to show that the loads of `pA` and `pB` do not alias, which we cannot.
> 
> 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 :)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74935



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to