diff options
Diffstat (limited to 'clang/test/CodeGenObjC')
-rw-r--r-- | clang/test/CodeGenObjC/arc-blocks.m | 18 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/arc-precise-lifetime.m | 68 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/arc-ternary-op.m | 12 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/arc.m | 102 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/exceptions.m | 4 |
5 files changed, 102 insertions, 102 deletions
diff --git a/clang/test/CodeGenObjC/arc-blocks.m b/clang/test/CodeGenObjC/arc-blocks.m index 72bf35c..605dda7 100644 --- a/clang/test/CodeGenObjC/arc-blocks.m +++ b/clang/test/CodeGenObjC/arc-blocks.m @@ -73,7 +73,7 @@ void test3(void (^sink)(id*)) { // CHECK-NEXT: [[TEMP:%.*]] = alloca ptr // CHECK-NEXT: call ptr @llvm.objc.retain( // CHECK-NEXT: store ptr {{%.*}}, ptr [[SINK]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[STRONG]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[STRONG]]) // CHECK-NEXT: store ptr null, ptr [[STRONG]] // CHECK-NEXT: [[BLOCK:%.*]] = load ptr, ptr [[SINK]] @@ -91,7 +91,7 @@ void test3(void (^sink)(id*)) { // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[STRONG]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[STRONG]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[STRONG]]) // CHECK-NEXT: load ptr, ptr [[SINK]] // CHECK-NEXT: call void @llvm.objc.release @@ -161,7 +161,7 @@ void test5(void) { // CHECK-LABEL: define{{.*}} void @test5() // CHECK: [[VAR:%.*]] = alloca ptr // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[VAR]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[VAR]]) // CHECK: [[T1:%.*]] = call ptr @test5_source() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T1]]) // CHECK-NEXT: store ptr [[T1]], ptr [[VAR]], @@ -172,7 +172,7 @@ void test5(void) { // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[VAR]] // CHECK-NEXT: store ptr [[T0]], ptr [[CAPTURE]] // CHECK: call void @test5_helper - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[VAR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[VAR]]) // CHECK-NEXT: ret void } @@ -185,7 +185,7 @@ void test6(void) { // CHECK-LABEL: define{{.*}} void @test6() // CHECK: [[VAR:%.*]] = alloca [[BYREF_T:%.*]], // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 48, ptr [[VAR]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[VAR]]) // CHECK: [[T0:%.*]] = getelementptr inbounds nuw [[BYREF_T]], ptr [[VAR]], i32 0, i32 2 // 0x02000000 - has copy/dispose helpers weak // CHECK-NEXT: store i32 1107296256, ptr [[T0]] @@ -203,7 +203,7 @@ void test6(void) { // CHECK: call void @test6_helper( // CHECK: call void @_Block_object_dispose(ptr [[VAR]], i32 8) // CHECK-NEXT: call void @llvm.objc.destroyWeak(ptr [[SLOT]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 48, ptr [[VAR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[VAR]]) // CHECK-NEXT: ret void // CHECK-LABEL: define internal void @__Block_byref_object_copy_.{{[0-9]+}}(ptr noundef %0, ptr noundef %1) #{{[0-9]+}} { @@ -449,7 +449,7 @@ void test13(id x) { // CHECK-NEXT: [[CLEANUP_ACTIVE:%.*]] = alloca i1 // CHECK-NEXT: [[T0:%.*]] = call ptr @llvm.objc.retain(ptr {{%.*}}) // CHECK-NEXT: store ptr [[T0]], ptr [[X]], align 8 - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[B]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[B]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]], align 8 // CHECK-NEXT: [[T1:%.*]] = icmp ne ptr [[T0]], null // CHECK-NEXT: store i1 false, ptr [[CLEANUP_ACTIVE]] @@ -479,7 +479,7 @@ void test13(id x) { // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) // CHECK-NEXT: br label - // CHECK: call void @llvm.lifetime.end.p0(i64 8, ptr [[B]]) + // CHECK: call void @llvm.lifetime.end.p0(ptr [[B]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) // CHECK-NEXT: ret void @@ -501,7 +501,7 @@ void test16(void) { // CHECK-LABEL: define{{.*}} void @test16( // CHECK: [[BLKVAR:%.*]] = alloca ptr, align 8 // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[BLKVAR]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[BLKVAR]]) // CHECK-NEXT: store ptr null, ptr [[BLKVAR]], align 8 } diff --git a/clang/test/CodeGenObjC/arc-precise-lifetime.m b/clang/test/CodeGenObjC/arc-precise-lifetime.m index 473c0b0..ac761ba 100644 --- a/clang/test/CodeGenObjC/arc-precise-lifetime.m +++ b/clang/test/CodeGenObjC/arc-precise-lifetime.m @@ -7,7 +7,7 @@ void test0(void) { PRECISE_LIFETIME id x = test0_helper(); x = 0; // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[CALL:%.*]] = call ptr @test0_helper() // CHECK-NEXT: store ptr [[CALL]], ptr [[X]] @@ -20,7 +20,7 @@ void test0(void) { // CHECK-NEXT: call void @llvm.objc.release(ptr [[T1]]) [[NUW:#[0-9]+]] // CHECK-NOT: clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -37,20 +37,20 @@ extern Test1 *test1_helper(void); void test1a_message(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[C:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[T2:%.*]] = call ptr @llvm.objc.retainAutorelease(ptr [[T0]]) // CHECK-NEXT: [[T4:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[T6:%.*]] = call ptr // CHECK-NEXT: store ptr [[T6]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void Test1 *ptr = test1_helper(); char *c = [(ptr) interior]; @@ -61,20 +61,20 @@ void test1a_message(void) { void test1a_property(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[C:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[T2:%.*]] = call ptr @llvm.objc.retainAutorelease(ptr [[T0]]) // CHECK-NEXT: [[T4:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[T6:%.*]] = call ptr // CHECK-NEXT: store ptr [[T6]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void Test1 *ptr = test1_helper(); char *c = ptr.interior; @@ -85,20 +85,20 @@ void test1a_property(void) { void test1b_message(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[C:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[T1:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[T3:%.*]] = call ptr // CHECK-NEXT: store ptr [[T3]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]] // CHECK-NOT: clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void PRECISE_LIFETIME Test1 *ptr = test1_helper(); char *c = [ptr interior]; @@ -108,20 +108,20 @@ void test1b_message(void) { void test1b_property(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[C:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[T1:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[T3:%.*]] = call ptr // CHECK-NEXT: store ptr [[T3]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[C]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[C]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]] // CHECK-NOT: clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void PRECISE_LIFETIME Test1 *ptr = test1_helper(); char *c = ptr.interior; @@ -131,20 +131,20 @@ void test1b_property(void) { void test1c_message(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[PC:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[PC]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[T2:%.*]] = call ptr @llvm.objc.retainAutorelease(ptr [[T0]]) // CHECK-NEXT: [[T4:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[T6:%.*]] = call ptr // CHECK-NEXT: store ptr [[T6]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PC]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void Test1 *ptr = test1_helper(); char *pc = [ptr PropertyReturnsInnerPointer]; @@ -154,20 +154,20 @@ void test1c_message(void) { void test1c_property(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[PC:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[PC]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[T2:%.*]] = call ptr @llvm.objc.retainAutorelease(ptr [[T0]]) // CHECK-NEXT: [[T4:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[T6:%.*]] = call ptr // CHECK-NEXT: store ptr [[T6]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PC]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void Test1 *ptr = test1_helper(); char *pc = ptr.PropertyReturnsInnerPointer; @@ -177,19 +177,19 @@ void test1c_property(void) { void test1d_message(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[PC:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[PC]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[SEL:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[CALL1:%.*]] = call ptr @objc_msgSend(ptr noundef [[T0]], ptr noundef [[SEL]]) // CHECK-NEXT: store ptr [[CALL1]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PC]]) // CHECK-NEXT: [[NINE:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[NINE]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void PRECISE_LIFETIME Test1 *ptr = test1_helper(); char *pc = [ptr PropertyReturnsInnerPointer]; @@ -199,19 +199,19 @@ void test1d_message(void) { void test1d_property(void) { // CHECK: [[PTR:%.*]] = alloca ptr, align 8 // CHECK: [[PC:%.*]] = alloca ptr, align 8 - // CHECK: call void @llvm.lifetime.start.p0(i64 8, ptr [[PTR]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr [[PTR]]) // CHECK: [[T0:%.*]] = call ptr @test1_helper() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) // CHECK-NEXT: store ptr [[T0]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[PC]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr // CHECK-NEXT: [[SEL:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ // CHECK-NEXT: [[CALL1:%.*]] = call ptr @objc_msgSend(ptr noundef [[T0]], ptr noundef [[SEL]]) // CHECK-NEXT: store ptr [[CALL1]], ptr - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PC]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PC]]) // CHECK-NEXT: [[NINE:%.*]] = load ptr, ptr // CHECK-NEXT: call void @llvm.objc.release(ptr [[NINE]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[PTR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[PTR]]) // CHECK-NEXT: ret void PRECISE_LIFETIME Test1 *ptr = test1_helper(); char *pc = ptr.PropertyReturnsInnerPointer; diff --git a/clang/test/CodeGenObjC/arc-ternary-op.m b/clang/test/CodeGenObjC/arc-ternary-op.m index 4a3c00c..46529b4 100644 --- a/clang/test/CodeGenObjC/arc-ternary-op.m +++ b/clang/test/CodeGenObjC/arc-ternary-op.m @@ -12,7 +12,7 @@ void test0(_Bool cond) { // CHECK-NEXT: [[RELCOND:%.*]] = alloca i1 // CHECK-NEXT: zext // CHECK-NEXT: store - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[T0:%.*]] = load i8, ptr [[COND]] // CHECK-NEXT: [[T1:%.*]] = trunc i8 [[T0]] to i1 // CHECK-NEXT: store i1 false, ptr [[RELCOND]] @@ -32,7 +32,7 @@ void test0(_Bool cond) { // CHECK-NEXT: br label // CHECK: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]] - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void id x = (cond ? 0 : test0_helper()); } @@ -53,9 +53,9 @@ void test1(int cond) { // CHECK-NEXT: [[CONDCLEANUPSAVE:%.*]] = alloca ptr // CHECK-NEXT: [[CONDCLEANUP:%.*]] = alloca i1 // CHECK-NEXT: store i32 - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[STRONG]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[STRONG]]) // CHECK-NEXT: store ptr null, ptr [[STRONG]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[WEAK]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[WEAK]]) // CHECK-NEXT: call ptr @llvm.objc.initWeak(ptr [[WEAK]], ptr null) // CHECK-NEXT: [[T0:%.*]] = load i32, ptr [[COND]] @@ -99,8 +99,8 @@ void test1(int cond) { // CHECK-NEXT: br label // CHECK: call void @llvm.objc.destroyWeak(ptr [[WEAK]]) - // CHECK: call void @llvm.lifetime.end.p0(i64 8, ptr [[WEAK]]) - // CHECK: call void @llvm.lifetime.end.p0(i64 8, ptr [[STRONG]]) + // CHECK: call void @llvm.lifetime.end.p0(ptr [[WEAK]]) + // CHECK: call void @llvm.lifetime.end.p0(ptr [[STRONG]]) // CHECK: ret void } diff --git a/clang/test/CodeGenObjC/arc.m b/clang/test/CodeGenObjC/arc.m index 57afe9c..2d860c1 100644 --- a/clang/test/CodeGenObjC/arc.m +++ b/clang/test/CodeGenObjC/arc.m @@ -48,13 +48,13 @@ id test1(id x) { // CHECK-NEXT: [[Y:%.*]] = alloca ptr // CHECK-NEXT: [[PARM:%.*]] = call ptr @llvm.objc.retain(ptr {{%.*}}) // CHECK-NEXT: store ptr [[PARM]], ptr [[X]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[Y]]) // CHECK-NEXT: store ptr null, ptr [[Y]] // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[Y]] // CHECK-NEXT: [[RET:%.*]] = call ptr @llvm.objc.retain(ptr [[T0]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[Y]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[Y]]) // CHECK-NEXT: [[T1:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T1]]) // CHECK-NEXT: [[T1:%.*]] = tail call ptr @llvm.objc.autoreleaseReturnValue(ptr [[RET]]) @@ -99,7 +99,7 @@ void test3_unelided(void) { extern void test3_helper(void); // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store ptr null, ptr [[X]], align Test3 *x; @@ -118,14 +118,14 @@ void test3_unelided(void) { // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]] - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } // CHECK-LABEL: define{{.*}} void @test3() void test3(void) { // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) id x = [[Test3 alloc] initWith: 5]; @@ -155,7 +155,7 @@ void test3(void) { // Cleanup for x. // CHECK-NEXT: [[TMP:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[TMP]]) [[NUW]] - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -225,12 +225,12 @@ id test6_helper(void) __attribute__((ns_returns_retained)); // CHECK-LABEL: define{{.*}} void @test6() void test6(void) { // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[CALL:%.*]] = call ptr @test6_helper() // CHECK-NEXT: store ptr [[CALL]], ptr [[X]] // CHECK-NEXT: [[T1:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T1]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void id x = test6_helper(); } @@ -239,14 +239,14 @@ void test7_helper(id __attribute__((ns_consumed))); // CHECK-LABEL: define{{.*}} void @test7() void test7(void) { // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store ptr null, ptr [[X]] // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: [[T1:%.*]] = call ptr @llvm.objc.retain(ptr [[T0]]) [[NUW]] // CHECK-NEXT: call void @test7_helper(ptr noundef [[T1]]) // CHECK-NEXT: [[T1:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T1]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void id x; test7_helper(x); @@ -256,11 +256,11 @@ id test8_helper(void) __attribute__((ns_returns_retained)); void test8(void) { __unsafe_unretained id x = test8_helper(); // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[T0:%.*]] = call ptr @test8_helper() // CHECK-NEXT: store ptr [[T0]], ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -274,9 +274,9 @@ void test10(void) { // CHECK-LABEL: define{{.*}} void @test10() // CHECK: [[X:%.*]] = alloca ptr, align // CHECK-NEXT: [[Y:%.*]] = alloca ptr, align - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store ptr null, ptr [[X]] - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[Y]]) // CHECK-NEXT: load ptr, ptr [[X]], align // CHECK-NEXT: load ptr, ptr @OBJC_SELECTOR_REFERENCES_{{[0-9]*}} // CHECK-NEXT: [[V:%.*]] = call ptr @objc_msgSend{{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] @@ -288,10 +288,10 @@ void test10(void) { // CHECK-NEXT: call void @llvm.objc.release(ptr [[V]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[Y]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: void @llvm.lifetime.end.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0(ptr [[Y]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -300,13 +300,13 @@ void test11(id (*f)(void) __attribute__((ns_returns_retained))) { // CHECK: [[F:%.*]] = alloca ptr, align // CHECK-NEXT: [[X:%.*]] = alloca ptr, align // CHECK-NEXT: store ptr {{%.*}}, ptr [[F]], align - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[F]], align // CHECK-NEXT: [[T1:%.*]] = call ptr [[T0]]() // CHECK-NEXT: store ptr [[T1]], ptr [[X]], align // CHECK-NEXT: [[T3:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T3]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void id x = f(); } @@ -319,7 +319,7 @@ void test12(void) { // CHECK-NEXT: [[Y:%.*]] = alloca ptr, align __weak id x = test12_helper(); - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[T1:%.*]] = call ptr @test12_helper(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T1]]) // CHECK-NEXT: call ptr @llvm.objc.initWeak(ptr [[X]], ptr [[T1]]) @@ -332,15 +332,15 @@ void test12(void) { // CHECK-NEXT: call void @llvm.objc.release(ptr [[T1]]) id y = x; - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[Y]]) // CHECK-NEXT: [[T2:%.*]] = call ptr @llvm.objc.loadWeakRetained(ptr [[X]]) // CHECK-NEXT: store ptr [[T2]], ptr [[Y]], align // CHECK-NEXT: [[T4:%.*]] = load ptr, ptr [[Y]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T4]]) [[NUW]], !clang.imprecise_release - // CHECK-NEXT: void @llvm.lifetime.end.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0(ptr [[Y]]) // CHECK-NEXT: call void @llvm.objc.destroyWeak(ptr [[X]]) - // CHECK-NEXT: void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK: ret void } @@ -348,7 +348,7 @@ void test12(void) { void test13(void) { // CHECK-LABEL: define{{.*}} void @test13() // CHECK: [[X:%.*]] = alloca ptr, align - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store ptr null, ptr [[X]], align id x; @@ -371,7 +371,7 @@ void test13(void) { // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) [[NUW]] - // CHECK-NEXT: void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -886,7 +886,7 @@ void test37(void) { // CHECK-LABEL: define{{.*}} void @test37() // CHECK: [[VAR:%.*]] = alloca ptr, // CHECK-NEXT: [[TEMP:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[VAR]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[VAR]]) // CHECK-NEXT: store ptr null, ptr [[VAR]] // CHECK-NEXT: [[W0:%.*]] = load ptr, ptr [[VAR]] @@ -901,7 +901,7 @@ void test37(void) { // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[VAR]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[VAR]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[VAR]]) // CHECK-NEXT: ret void } @@ -956,7 +956,7 @@ void test47(void) { // CHECK-LABEL: define{{.*}} void @test47() // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store ptr null, ptr [[X]] // CHECK-NEXT: [[T0:%.*]] = call ptr @test47_helper(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) @@ -969,7 +969,7 @@ void test47(void) { // CHECK-NEXT: call void @llvm.objc.release(ptr [[T3]]) // CHECK-NEXT: [[T4:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T4]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -978,7 +978,7 @@ void test48(void) { __weak id x = x = test48_helper(); // CHECK-LABEL: define{{.*}} void @test48() // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: [[T0:%.*]] = call ptr @llvm.objc.initWeak(ptr [[X]], ptr null) // CHECK-NEXT: [[T2:%.*]] = call ptr @test48_helper(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T2]]) @@ -986,7 +986,7 @@ void test48(void) { // CHECK-NEXT: [[T4:%.*]] = call ptr @llvm.objc.storeWeak(ptr [[X]], ptr [[T3]]) // CHECK-NEXT: call void @llvm.objc.release(ptr [[T2]]) // CHECK-NEXT: call void @llvm.objc.destroyWeak(ptr [[X]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -995,7 +995,7 @@ void test49(void) { __autoreleasing id x = x = test49_helper(); // CHECK-LABEL: define{{.*}} void @test49() // CHECK: [[X:%.*]] = alloca ptr - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store ptr null, ptr [[X]] // CHECK-NEXT: [[T0:%.*]] = call ptr @test49_helper(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T0]]) @@ -1003,7 +1003,7 @@ void test49(void) { // CHECK-NEXT: store ptr [[T1]], ptr [[X]] // CHECK-NEXT: [[T3:%.*]] = call ptr @llvm.objc.retainAutorelease(ptr [[T1]]) // CHECK-NEXT: store ptr [[T3]], ptr [[X]] - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -1035,12 +1035,12 @@ id test52(void) { // CHECK-LABEL: define{{.*}} ptr @test52() // CHECK: [[X:%.*]] = alloca i32 // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca ptr -// CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 4, ptr [[X]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK-NEXT: store i32 5, ptr [[X]], // CHECK-NEXT: [[T0:%.*]] = load i32, ptr [[X]], // CHECK-NEXT: [[T1:%.*]] = call ptr @test52_helper(i32 noundef [[T0]]) // CHECK-NEXT: store ptr [[T1]], ptr [[TMPALLOCA]] -// CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 4, ptr [[X]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[TMPALLOCA]] // CHECK-NEXT: [[T3:%.*]] = tail call ptr @llvm.objc.autoreleaseReturnValue(ptr [[T2]]) // CHECK-NEXT: ret ptr [[T3]] @@ -1054,8 +1054,8 @@ void test53(void) { // CHECK: [[X:%.*]] = alloca ptr, // CHECK-NEXT: [[Y:%.*]] = alloca ptr, // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca ptr, -// CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) -// CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[Y]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[Y]]) // CHECK-NEXT: [[T1:%.*]] = call ptr @test53_helper(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T1]]) // CHECK-NEXT: store ptr [[T1]], ptr [[Y]], @@ -1064,13 +1064,13 @@ void test53(void) { // CHECK-NEXT: store ptr [[T1]], ptr [[TMPALLOCA]] // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[Y]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T2]]) -// CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[Y]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[Y]]) // CHECK-NEXT: [[T3:%.*]] = load ptr, ptr [[TMPALLOCA]] // CHECK-NEXT: store ptr [[T3]], ptr [[X]], // CHECK-NEXT: load ptr, ptr [[X]], // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) -// CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -1115,12 +1115,12 @@ void test56_test(void) { id x = [Test56 make]; // CHECK-LABEL: define{{.*}} void @test56_test() // CHECK: [[X:%.*]] = alloca ptr, align 8 - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[X]]) // CHECK: [[T0:%.*]] = call ptr @objc_msgSend( // CHECK-NEXT: store ptr [[T0]], ptr [[X]] // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[X]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[X]]) // CHECK-NEXT: ret void } @@ -1188,7 +1188,7 @@ void test61(void) { // CHECK-NEXT: call void @llvm.objc.release(ptr [[T1]]) [test61_make() performSelector: @selector(test61_void)]; - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[Y]]) // CHECK-NEXT: [[T1:%.*]] = call ptr @test61_make(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T1]]) // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_ @@ -1201,7 +1201,7 @@ void test61(void) { // CHECK-NEXT: [[T0:%.*]] = load ptr, ptr [[Y]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T0]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[Y]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[Y]]) // CHECK-NEXT: ret void } @@ -1213,7 +1213,7 @@ void test62(void) { extern id test62_make(void); extern void test62_body(void); - // CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 4, ptr [[I]]) + // CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[I]]) // CHECK-NEXT: store i32 0, ptr [[I]], align 4 // CHECK-NEXT: br label @@ -1300,10 +1300,10 @@ void test67(void) { } // CHECK-LABEL: define{{.*}} void @test67() // CHECK: [[CL:%.*]] = alloca ptr, align 8 -// CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[CL]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[CL]]) // CHECK-NEXT: [[T0:%.*]] = call ptr @test67_helper() // CHECK-NEXT: store ptr [[T0]], ptr [[CL]], align 8 -// CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[CL]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[CL]]) // CHECK-NEXT: ret void Class test68_helper(void); @@ -1312,13 +1312,13 @@ void test68(void) { } // CHECK-LABEL: define{{.*}} void @test68() // CHECK: [[CL:%.*]] = alloca ptr, align 8 -// CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 8, ptr [[CL]]) +// CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[CL]]) // CHECK-NEXT: [[T1:%.*]] = call ptr @test67_helper(){{.*}} [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ] // CHECK-NEXT: call void (...) @llvm.objc.clang.arc.noop.use(ptr [[T1]]) // CHECK-NEXT: store ptr [[T1]], ptr [[CL]], align 8 // CHECK-NEXT: [[T2:%.*]] = load ptr, ptr [[CL]] // CHECK-NEXT: call void @llvm.objc.release(ptr [[T2]]) -// CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 8, ptr [[CL]]) +// CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[CL]]) // CHECK-NEXT: ret void @interface Test69 @end @@ -1351,14 +1351,14 @@ struct AggDtor getAggDtor(void); // CHECK-LABEL: define{{.*}} void @test71 void test71(void) { - // CHECK: call void @llvm.lifetime.start.p0({{[^,]+}}, ptr %[[T:.*]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr %[[T:.*]]) // CHECK: call void @getAggDtor(ptr dead_on_unwind writable sret(%struct.AggDtor) align 8 %[[T]]) // CHECK: call void @__destructor_8_s40(ptr %[[T]]) - // CHECK: call void @llvm.lifetime.end.p0({{[^,]+}}, ptr %[[T]]) - // CHECK: call void @llvm.lifetime.start.p0({{[^,]+}}, ptr %[[T2:.*]]) + // CHECK: call void @llvm.lifetime.end.p0(ptr %[[T]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr %[[T2:.*]]) // CHECK: call void @getAggDtor(ptr dead_on_unwind writable sret(%struct.AggDtor) align 8 %[[T2]]) // CHECK: call void @__destructor_8_s40(ptr %[[T2]]) - // CHECK: call void @llvm.lifetime.end.p0({{[^,]+}}, ptr %[[T2]]) + // CHECK: call void @llvm.lifetime.end.p0(ptr %[[T2]]) getAggDtor(); getAggDtor(); } diff --git a/clang/test/CodeGenObjC/exceptions.m b/clang/test/CodeGenObjC/exceptions.m index 832d3a45..66dc051 100644 --- a/clang/test/CodeGenObjC/exceptions.m +++ b/clang/test/CodeGenObjC/exceptions.m @@ -79,7 +79,7 @@ void f3(void) { extern void f3_helper(int, int*); // CHECK: [[X:%.*]] = alloca i32 - // CHECK: call void @llvm.lifetime.start.p0(i64 4, ptr nonnull [[X]]) + // CHECK: call void @llvm.lifetime.start.p0(ptr nonnull [[X]]) // CHECK: store i32 0, ptr [[X]] int x = 0; @@ -120,7 +120,7 @@ void f3(void) { } // CHECK: call void @f3_helper(i32 noundef 4, ptr noundef nonnull [[X]]) - // CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 4, ptr nonnull [[X]]) + // CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr nonnull [[X]]) // CHECK-NEXT: ret void f3_helper(4, &x); } |