summaryrefslogtreecommitdiffstats
path: root/test/Transforms/ObjCARC/rv.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/ObjCARC/rv.ll')
-rw-r--r--test/Transforms/ObjCARC/rv.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/ObjCARC/rv.ll b/test/Transforms/ObjCARC/rv.ll
index da53a86..9353a19 100644
--- a/test/Transforms/ObjCARC/rv.ll
+++ b/test/Transforms/ObjCARC/rv.ll
@@ -329,3 +329,14 @@ define void @test23(i8* %p) {
call i8* @objc_autoreleaseReturnValue(i8* %p)
ret void
}
+
+; Don't convert autoreleaseRV to autorelease if the result is returned,
+; even through a bitcast.
+
+; CHECK: define {}* @test24(
+; CHECK: tail call i8* @objc_autoreleaseReturnValue(i8* %p)
+define {}* @test24(i8* %p) {
+ %t = call i8* @objc_autoreleaseReturnValue(i8* %p)
+ %s = bitcast i8* %p to {}*
+ ret {}* %s
+}
OpenPOWER on IntegriCloud