This revision was automatically updated to reflect the committed changes.
Closed by commit rG952944c12c0a: [ObjC][ARC] Dont add operand bundle
clang.arc.attachedcall to a call if (authored by ahatanak).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
rjmccall accepted this revision.
rjmccall added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97824/new/
https://reviews.llvm.org/D97824
ahatanak updated this revision to Diff 355080.
ahatanak added a comment.
Check the presence of the operand bundle earlier in `emitARCOperationAfterCall`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97824/new/
https://reviews.llvm.org/D97824
ahatanak updated this revision to Diff 327888.
ahatanak added a comment.
Emit a call to `@llvm.objc.retain` instead of a call to
`@llvm.objc.retainAutoreleasedReturnValue`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97824/new/
ahatanak planned changes to this revision.
ahatanak added a comment.
On second thought, I think we should emit a call to `@llvm.objc.retain` instead
of a call to `@llvm.objc.retainAutoreleasedReturnValue`. I think we might want
to remove ARC optimizer's code that converts calls to
ahatanak added a comment.
We could emit a call to `@llvm.objc.retain` instead of the call to
`@llvm.objc.retainAutoreleasedReturnValue`, but this doesn't seem to happen
often and ARC optimizer can remove or replace the call anyway, so I'm just
letting the front-end emit
ahatanak created this revision.
ahatanak added a reviewer: rjmccall.
ahatanak added a project: clang.
Herald added a subscriber: jkorous.
ahatanak requested review of this revision.
This bug was causing the call to `replaceAllUsesWith` to crash because the old
call instruction and the new call