[CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as
authorAkira Hatanaka <ahatanaka@apple.com>
Mon, 3 Aug 2020 20:25:25 +0000 (13:25 -0700)
committerAkira Hatanaka <ahatanaka@apple.com>
Mon, 3 Aug 2020 20:25:25 +0000 (13:25 -0700)
commit41b1e97b12c1407e40d8e5081bf1f9cf183934b0
tree1e1c6c11c527b56293cc72d45c89ade00778206c
parent7209f83112db4dbe15d8328705f9d2aff0624fbd
[CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as
notail on x86-64

This is needed because the epilogue code inserted before tail calls on
x86-64 breaks the handshake between the caller and callee.

Calls to objc_retainAutoreleasedReturnValue used to have the same
problem, which was fixed in https://reviews.llvm.org/D59656.

rdar://problem/66029552

Differential Revision: https://reviews.llvm.org/D84540
clang/lib/CodeGen/CGObjC.cpp
clang/lib/CodeGen/TargetInfo.cpp
clang/lib/CodeGen/TargetInfo.h
clang/test/CodeGenObjC/arc-unsafeclaim.m