================

----------------
brunodf-gf wrote:

This is the core paragraph for noalias semantics, it specifies the noalias 
constraint for `!alias.scope` and `!noalias` metadata; I really expected you to 
touch this. Instead, you define the effect of domains with disjoint scopes 
through implicit entries in the `noalias` list below. This is perhaps fine, but:

* This specification does not match the implementation in ScopedNoAliasAA, 
where it is rather like an _additional_ noalias constraint for distinct scope 
domains (i.e. `mayAliasInDisjointDomains` is entirely separate from 
`mayAliasInScopes`). I think it would be better if the specification and 
implementation lined up directly, for example, if you specified the additional 
noalias constraint that you implement in `mayAliasInDisjointDomains` directly 
here.
* If you decide to keep the specification with implicit entries in the 
`noaliast` list, you should at least forward-reference the disjoint scope 
domains here, maybe just by stating that the entries in the `noalias` list can 
also be implicit through distinct scope domains?

https://github.com/llvm/llvm-project/pull/218768
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to