diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-12-12 17:52:21 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-12-12 17:52:21 +0000 |
commit | df76f1ea801a60a422812b20bd0bfa6ab51cecf8 (patch) | |
tree | 0d0bfd840e7cd807e845ae8156a0a3b1222db123 /test/CodeGenObjC/objc-arc-container-subscripting.m | |
parent | 21fa5d182f7b0b65c8233d6e228fc374d6d6e8bb (diff) |
Marking the objc_autoreleaseReturnValue and objc_retainAutoreleaseReturnValue
call sites as tail calls unconditionally. While it's theoretically true that
this is just an optimization, it's an optimization that we very much want to
happen even at -O0, or else ARC applications become substantially harder to
debug. See r169796 for the llvm/fast-isel side of things.
rdar://12553082
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169996 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenObjC/objc-arc-container-subscripting.m')
-rw-r--r-- | test/CodeGenObjC/objc-arc-container-subscripting.m | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGenObjC/objc-arc-container-subscripting.m b/test/CodeGenObjC/objc-arc-container-subscripting.m index 71339c7085..0961ed1b20 100644 --- a/test/CodeGenObjC/objc-arc-container-subscripting.m +++ b/test/CodeGenObjC/objc-arc-container-subscripting.m @@ -15,6 +15,6 @@ id func() { // CHECK: [[SIX:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[call]]) nounwind // CHECK: [[ARRAY_CASTED:%.*]] = bitcast %0** {{%.*}} to i8** // CHECK: call void @objc_storeStrong(i8** [[ARRAY_CASTED]], i8* null) -// CHECK: [[EIGHT:%.*]] = call i8* @objc_autoreleaseReturnValue(i8* [[SIX]]) nounwind +// CHECK: [[EIGHT:%.*]] = tail call i8* @objc_autoreleaseReturnValue(i8* [[SIX]]) nounwind // CHECK: ret i8* [[EIGHT]] |