diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-04-10 20:18:45 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-04-10 20:18:45 +0000 |
commit | d972949b10ef0b10fd73d5b153084217c535bb15 (patch) | |
tree | bfcec96b8adbda89913c2e90d0b0277da94c1138 /clang/test/CodeGenObjC/arc.m | |
parent | f10061ec708ef787398649f3eb073c6ca3acd73d (diff) | |
download | llvm-d972949b10ef0b10fd73d5b153084217c535bb15.zip llvm-d972949b10ef0b10fd73d5b153084217c535bb15.tar.gz llvm-d972949b10ef0b10fd73d5b153084217c535bb15.tar.bz2 |
Update for lifetime intrinsic signature change
llvm-svn: 299877
Diffstat (limited to 'clang/test/CodeGenObjC/arc.m')
-rw-r--r-- | clang/test/CodeGenObjC/arc.m | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/clang/test/CodeGenObjC/arc.m b/clang/test/CodeGenObjC/arc.m index fc135af..d34156e 100644 --- a/clang/test/CodeGenObjC/arc.m +++ b/clang/test/CodeGenObjC/arc.m @@ -49,14 +49,14 @@ id test1(id x) { // CHECK-NEXT: [[PARM:%.*]] = call i8* @objc_retain(i8* {{%.*}}) // CHECK-NEXT: store i8* [[PARM]], i8** [[X]] // CHECK-NEXT: [[YPTR1:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[YPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[YPTR1]]) // CHECK-NEXT: store i8* null, i8** [[Y]] // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[Y]] // CHECK-NEXT: [[RET:%.*]] = call i8* @objc_retain(i8* [[T0]]) // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[Y]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) // CHECK-NEXT: [[YPTR2:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[YPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[YPTR2]]) // CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T1]]) // CHECK-NEXT: [[T1:%.*]] = tail call i8* @objc_autoreleaseReturnValue(i8* [[RET]]) @@ -102,7 +102,7 @@ void test3_unelided() { // CHECK: [[X:%.*]] = alloca [[TEST3:%.*]]* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast [[TEST3]]** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: store [[TEST3]]* null, [[TEST3]]** [[X]], align Test3 *x; @@ -127,7 +127,7 @@ void test3_unelided() { // CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST3]]* [[T0]] to i8* // CHECK-NEXT: call void @objc_release(i8* [[T1]]) [[NUW]] // CHECK-NEXT: [[XPTR2:%.*]] = bitcast [[TEST3]]** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -135,7 +135,7 @@ void test3_unelided() { void test3() { // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) id x = [[Test3 alloc] initWith: 5]; @@ -171,7 +171,7 @@ void test3() { // CHECK-NEXT: [[TMP:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[TMP]]) [[NUW]] // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -254,13 +254,13 @@ id test6_helper(void) __attribute__((ns_returns_retained)); void test6() { // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[CALL:%.*]] = call i8* @test6_helper() // CHECK-NEXT: store i8* [[CALL]], i8** [[X]] // CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T1]]) [[NUW]], !clang.imprecise_release // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void id x = test6_helper(); } @@ -270,7 +270,7 @@ void test7_helper(id __attribute__((ns_consumed))); void test7() { // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: store i8* null, i8** [[X]] // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]]) [[NUW]] @@ -278,7 +278,7 @@ void test7() { // CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T1]]) [[NUW]], !clang.imprecise_release // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void id x; test7_helper(x); @@ -289,12 +289,12 @@ void test8() { __unsafe_unretained id x = test8_helper(); // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @test8_helper() // CHECK-NEXT: store i8* [[T0]], i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) [[NUW]], !clang.imprecise_release // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -309,10 +309,10 @@ void test10() { // CHECK: [[X:%.*]] = alloca [[TEST10:%.*]]*, align // CHECK-NEXT: [[Y:%.*]] = alloca i8*, align // CHECK-NEXT: [[XPTR1:%.*]] = bitcast [[TEST10]]** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: store [[TEST10]]* null, [[TEST10]]** [[X]] // CHECK-NEXT: [[YPTR1:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[YPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[YPTR1]]) // CHECK-NEXT: load [[TEST10]]*, [[TEST10]]** [[X]], align // CHECK-NEXT: load i8*, i8** @OBJC_SELECTOR_REFERENCES_{{[0-9]*}} // CHECK-NEXT: bitcast @@ -333,12 +333,12 @@ void test10() { // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[Y]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) // CHECK-NEXT: [[YPTR2:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: void @llvm.lifetime.end(i64 8, i8* [[YPTR2]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0i8(i64 8, i8* [[YPTR2]]) // CHECK-NEXT: [[T0:%.*]] = load [[TEST10]]*, [[TEST10]]** [[X]] // CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST10]]* [[T0]] to i8* // CHECK-NEXT: call void @objc_release(i8* [[T1]]) // CHECK-NEXT: [[XPTR2:%.*]] = bitcast [[TEST10]]** [[X]] to i8* - // CHECK-NEXT: void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -348,14 +348,14 @@ void test11(id (*f)(void) __attribute__((ns_returns_retained))) { // CHECK-NEXT: [[X:%.*]] = alloca i8*, align // CHECK-NEXT: store i8* ()* {{%.*}}, i8* ()** [[F]], align // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[T0:%.*]] = load i8* ()*, i8* ()** [[F]], align // CHECK-NEXT: [[T1:%.*]] = call i8* [[T0]]() // CHECK-NEXT: store i8* [[T1]], i8** [[X]], align // CHECK-NEXT: [[T3:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T3]]) [[NUW]], !clang.imprecise_release // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void id x = f(); } @@ -369,7 +369,7 @@ void test12(void) { __weak id x = test12_helper(); // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @test12_helper() // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]]) // CHECK-NEXT: call i8* @objc_initWeak(i8** [[X]], i8* [[T1]]) @@ -383,17 +383,17 @@ void test12(void) { id y = x; // CHECK-NEXT: [[YPTR1:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[YPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[YPTR1]]) // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_loadWeakRetained(i8** [[X]]) // CHECK-NEXT: store i8* [[T2]], i8** [[Y]], align // CHECK-NEXT: [[T4:%.*]] = load i8*, i8** [[Y]] // CHECK-NEXT: call void @objc_release(i8* [[T4]]) [[NUW]], !clang.imprecise_release // CHECK-NEXT: [[YPTR2:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: void @llvm.lifetime.end(i64 8, i8* [[YPTR2]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0i8(i64 8, i8* [[YPTR2]]) // CHECK-NEXT: call void @objc_destroyWeak(i8** [[X]]) // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK: ret void } @@ -402,7 +402,7 @@ void test13(void) { // CHECK-LABEL: define void @test13() // CHECK: [[X:%.*]] = alloca i8*, align // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: store i8* null, i8** [[X]], align id x; @@ -429,7 +429,7 @@ void test13(void) { // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) [[NUW]] // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -1005,7 +1005,7 @@ void test37(void) { // CHECK: [[VAR:%.*]] = alloca [[TEST37:%.*]]*, // CHECK-NEXT: [[TEMP:%.*]] = alloca i8* // CHECK-NEXT: [[VARPTR1:%.*]] = bitcast [[TEST37]]** [[VAR]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[VARPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[VARPTR1]]) // CHECK-NEXT: store [[TEST37]]* null, [[TEST37]]** [[VAR]] // CHECK-NEXT: [[W0:%.*]] = load [[TEST37]]*, [[TEST37]]** [[VAR]] @@ -1027,7 +1027,7 @@ void test37(void) { // CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST37]]* [[T0]] to i8* // CHECK-NEXT: call void @objc_release(i8* [[T1]]) // CHECK-NEXT: [[VARPTR2:%.*]] = bitcast [[TEST37]]** [[VAR]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[VARPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[VARPTR2]]) // CHECK-NEXT: ret void } @@ -1085,7 +1085,7 @@ void test47(void) { // CHECK-LABEL: define void @test47() // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: store i8* null, i8** [[X]] // CHECK-NEXT: [[CALL:%.*]] = call i8* @test47_helper() // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[CALL]]) @@ -1099,7 +1099,7 @@ void test47(void) { // CHECK-NEXT: [[T4:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T4]]) // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -1109,7 +1109,7 @@ void test48(void) { // CHECK-LABEL: define void @test48() // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_initWeak(i8** [[X]], i8* null) // CHECK-NEXT: [[T1:%.*]] = call i8* @test48_helper() // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]]) @@ -1118,7 +1118,7 @@ void test48(void) { // CHECK-NEXT: call void @objc_release(i8* [[T2]]) // CHECK-NEXT: call void @objc_destroyWeak(i8** [[X]]) // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -1128,7 +1128,7 @@ void test49(void) { // CHECK-LABEL: define void @test49() // CHECK: [[X:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: store i8* null, i8** [[X]] // CHECK-NEXT: [[CALL:%.*]] = call i8* @test49_helper() // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[CALL]]) @@ -1137,7 +1137,7 @@ void test49(void) { // CHECK-NEXT: [[T3:%.*]] = call i8* @objc_retainAutorelease(i8* [[T1]]) // CHECK-NEXT: store i8* [[T3]], i8** [[X]] // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -1174,13 +1174,13 @@ id test52(void) { // CHECK: [[X:%.*]] = alloca i32 // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca i8* // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i32* [[X]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.start(i64 4, i8* [[XPTR1]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 4, i8* [[XPTR1]]) // CHECK-NEXT: store i32 5, i32* [[X]], // CHECK-NEXT: [[T0:%.*]] = load i32, i32* [[X]], // CHECK-NEXT: [[T1:%.*]] = call i8* @test52_helper(i32 [[T0]]) // CHECK-NEXT: store i8* [[T1]], i8** [[TMPALLOCA]] // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i32* [[X]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.end(i64 4, i8* [[XPTR2]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 4, i8* [[XPTR2]]) // CHECK-NEXT: [[T2:%.*]] = load i8*, i8** [[TMPALLOCA]] // CHECK-NEXT: [[T3:%.*]] = tail call i8* @objc_autoreleaseReturnValue(i8* [[T2]]) // CHECK-NEXT: ret i8* [[T3]] @@ -1196,9 +1196,9 @@ void test53(void) { // CHECK-NEXT: [[Y:%.*]] = alloca i8*, // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca i8*, // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[YPTR1:%.*]] = bitcast i8** [[Y]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[YPTR1]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[YPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @test53_helper() // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]]) // CHECK-NEXT: store i8* [[T1]], i8** [[Y]], @@ -1208,14 +1208,14 @@ void test53(void) { // CHECK-NEXT: [[T2:%.*]] = load i8*, i8** [[Y]] // CHECK-NEXT: call void @objc_release(i8* [[T2]]) // CHECK-NEXT: [[YPTR2:%.*]] = bitcast i8** [[Y]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[YPTR2]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[YPTR2]]) // CHECK-NEXT: [[T3:%.*]] = load i8*, i8** [[TMPALLOCA]] // CHECK-NEXT: store i8* [[T3]], i8** [[X]], // CHECK-NEXT: load i8*, i8** [[X]], // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -1263,13 +1263,13 @@ void test56_test(void) { // CHECK-LABEL: define void @test56_test() // CHECK: [[X:%.*]] = alloca i8*, align 8 // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]]) // CHECK: [[T0:%.*]] = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)( // CHECK-NEXT: store i8* [[T0]], i8** [[X]] // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void } @@ -1350,7 +1350,7 @@ void test61(void) { [test61_make() performSelector: @selector(test61_void)]; // CHECK-NEXT: [[YPTR1:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[YPTR1]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[YPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @test61_make() // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]]) // CHECK-NEXT: [[T2:%.*]] = load i8*, i8** @OBJC_SELECTOR_REFERENCES_ @@ -1364,7 +1364,7 @@ void test61(void) { // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[Y]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) // CHECK-NEXT: [[YPTR2:%.*]] = bitcast i8** [[Y]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[YPTR2]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[YPTR2]]) // CHECK-NEXT: ret void } @@ -1378,7 +1378,7 @@ void test62(void) { extern void test62_body(void); // CHECK-NEXT: [[IPTR:%.*]] = bitcast i32* [[I]] to i8* - // CHECK-NEXT: call void @llvm.lifetime.start(i64 4, i8* [[IPTR]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 4, i8* [[IPTR]]) // CHECK-NEXT: store i32 0, i32* [[I]], align 4 // CHECK-NEXT: br label @@ -1471,11 +1471,11 @@ void test67(void) { // CHECK-LABEL: define void @test67() // CHECK: [[CL:%.*]] = alloca i8*, align 8 // CHECK-NEXT: [[CLPTR1:%.*]] = bitcast i8** [[CL]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[CLPTR1]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[CLPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @test67_helper() // CHECK-NEXT: store i8* [[T0]], i8** [[CL]], align 8 // CHECK-NEXT: [[CLPTR2:%.*]] = bitcast i8** [[CL]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[CLPTR2]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[CLPTR2]]) // CHECK-NEXT: ret void Class test68_helper(void); @@ -1485,14 +1485,14 @@ void test68(void) { // CHECK-LABEL: define void @test68() // CHECK: [[CL:%.*]] = alloca i8*, align 8 // CHECK-NEXT: [[CLPTR1:%.*]] = bitcast i8** [[CL]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[CLPTR1]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[CLPTR1]]) // CHECK-NEXT: [[T0:%.*]] = call i8* @test67_helper() // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]]) // CHECK-NEXT: store i8* [[T1]], i8** [[CL]], align 8 // CHECK-NEXT: [[T2:%.*]] = load i8*, i8** [[CL]] // CHECK-NEXT: call void @objc_release(i8* [[T2]]) // CHECK-NEXT: [[CLPTR2:%.*]] = bitcast i8** [[CL]] to i8* -// CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[CLPTR2]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* [[CLPTR2]]) // CHECK-NEXT: ret void // rdar://problem/10564852 |