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