[PATCH] D59656: [CodeGen][ObjC] Annotate calls to objc_retainAutoreleasedReturnValue with notail on x86-64
Akira Hatanaka via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 21 11:09:59 PDT 2019
ahatanak created this revision.
ahatanak added reviewers: rjmccall, erik.pilkington.
ahatanak added a project: clang.
Herald added subscribers: dexonsmith, jkorous.
On x86-64, the epilogue code inserted before the tail jump blocks the autoreleased return optimization.
ARC optimizer unconditionally turns calls to `objc_retainAutoreleasedReturnValue` to tail calls. I plan to fix that too after this patch lands.
rdar://problem/38675807
Repository:
rC Clang
https://reviews.llvm.org/D59656
Files:
lib/CodeGen/CGObjC.cpp
lib/CodeGen/TargetInfo.cpp
lib/CodeGen/TargetInfo.h
test/CodeGenObjC/arc-blocks.m
test/CodeGenObjC/arc-foreach.m
test/CodeGenObjC/arc-literals.m
test/CodeGenObjC/arc-precise-lifetime.m
test/CodeGenObjC/arc-property.m
test/CodeGenObjC/arc-related-result-type.m
test/CodeGenObjC/arc-ternary-op.m
test/CodeGenObjC/arc-unsafeclaim.m
test/CodeGenObjC/arc-with-atthrow.m
test/CodeGenObjC/arc.m
test/CodeGenObjC/objc-arc-container-subscripting.m
test/CodeGenObjC/os_log.m
test/CodeGenObjCXX/arc-forwarded-lambda-call.mm
test/CodeGenObjCXX/arc.mm
test/CodeGenObjCXX/inheriting-constructor-cleanup.mm
test/CodeGenObjCXX/literals.mm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59656.191737.patch
Type: text/x-patch
Size: 39642 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190321/6f1aedb3/attachment-0001.bin>
More information about the cfe-commits
mailing list