diff options
author | Arnaud A. de Grandmaison <arnaud.degrandmaison@arm.com> | 2014-10-08 12:49:16 +0000 |
---|---|---|
committer | Arnaud A. de Grandmaison <arnaud.degrandmaison@arm.com> | 2014-10-08 12:49:16 +0000 |
commit | eee131df0806f9e9545fcc499d25864b7c0c3391 (patch) | |
tree | 1d1c3147ffe95700427b9cfe3e1234898a4fd830 /test/CodeGenObjC/arc-ternary-op.m | |
parent | 5ab907d08be8e66aac9dd192d6be9701e4757dd8 (diff) |
Remove threshold on object size for inserting lifetime begin / end
Boostrapping LLVM+Clang+LLDB without threshold on object size for
lifetime markers insertion has shown there was no significant change
in compile time, so let the stack slot colorizer do its optimization
for all slots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219303 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenObjC/arc-ternary-op.m')
-rw-r--r-- | test/CodeGenObjC/arc-ternary-op.m | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGenObjC/arc-ternary-op.m b/test/CodeGenObjC/arc-ternary-op.m index 217db80194..52627d7e6b 100644 --- a/test/CodeGenObjC/arc-ternary-op.m +++ b/test/CodeGenObjC/arc-ternary-op.m @@ -10,6 +10,8 @@ void test0(_Bool cond) { // CHECK-NEXT: [[RELCOND:%.*]] = alloca i1 // CHECK-NEXT: zext // CHECK-NEXT: store + // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XPTR1]]) // CHECK-NEXT: [[T0:%.*]] = load i8* [[COND]] // CHECK-NEXT: [[T1:%.*]] = trunc i8 [[T0]] to i1 // CHECK-NEXT: store i1 false, i1* [[RELCOND]] @@ -29,6 +31,8 @@ void test0(_Bool cond) { // CHECK-NEXT: br label // CHECK: [[T0:%.*]] = load i8** [[X]] // CHECK-NEXT: call void @objc_release(i8* [[T0]]) [[NUW]] + // CHECK-NEXT: [[XPTR2:%.*]] = bitcast i8** [[X]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[XPTR2]]) // CHECK-NEXT: ret void id x = (cond ? 0 : test0_helper()); } @@ -49,7 +53,11 @@ void test1(int cond) { // CHECK-NEXT: [[CONDCLEANUPSAVE:%.*]] = alloca i8* // CHECK-NEXT: [[CONDCLEANUP:%.*]] = alloca i1 // CHECK-NEXT: store i32 + // CHECK-NEXT: [[STRONGPTR1:%.*]] = bitcast i8** [[STRONG]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[STRONGPTR1]]) // CHECK-NEXT: store i8* null, i8** [[STRONG]] + // CHECK-NEXT: [[WEAKPTR1:%.*]] = bitcast i8** [[WEAK]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[WEAKPTR1]]) // CHECK-NEXT: call i8* @objc_initWeak(i8** [[WEAK]], i8* null) // CHECK-NEXT: [[T0:%.*]] = load i32* [[COND]] @@ -93,6 +101,10 @@ void test1(int cond) { // CHECK-NEXT: br label // CHECK: call void @objc_destroyWeak(i8** [[WEAK]]) + // CHECK: [[WEAKPTR2:%.*]] = bitcast i8** [[WEAK]] to i8* + // CHECK: call void @llvm.lifetime.end(i64 8, i8* [[WEAKPTR2]]) + // CHECK: [[STRONGPTR2:%.*]] = bitcast i8** [[STRONG]] to i8* + // CHECK: call void @llvm.lifetime.end(i64 8, i8* [[STRONGPTR2]]) // CHECK: ret void } |