[PATCH] D137083: [ObjCARC] Replace parts of ObjCARCAA with intrinsic attributes
John McCall via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 14 16:18:45 PST 2022
rjmccall added a comment.
The ARC spec describes the semantic restrictions on retain/release implementations:
https://clang.llvm.org/docs/AutomaticReferenceCounting.html#arc-objects-retains
Those semantics do not forbid changing visible memory, they just permit retains and releases to be moved regardless of their impact on visible memory. This is in keeping with the very operational definition of ObjC ARC optimization. There's an implicit assumption here that moving retains and releases won't make other optimizations unsound, which I think can most easily be satisfied by not moving retains and releases to places where there aren't already retains and releases of that object.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137083/new/
https://reviews.llvm.org/D137083
More information about the llvm-commits
mailing list