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