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 | 1b175e40986a9c420b0a06940776ed2e615ca6dd (patch) | |
| tree | 14be23b9f0b3fec474d7e5903e03c70dd81129b9 /clang/test/CodeGenObjCXX/literals.mm | |
| parent | ff7456dd34e20696334f9e8dacc533265441eaf4 (diff) | |
| download | bcm5719-llvm-1b175e40986a9c420b0a06940776ed2e615ca6dd.tar.gz bcm5719-llvm-1b175e40986a9c420b0a06940776ed2e615ca6dd.zip | |
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.
llvm-svn: 219303
Diffstat (limited to 'clang/test/CodeGenObjCXX/literals.mm')
| -rw-r--r-- | clang/test/CodeGenObjCXX/literals.mm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/clang/test/CodeGenObjCXX/literals.mm b/clang/test/CodeGenObjCXX/literals.mm index 42ec4bee388..a86460ea021 100644 --- a/clang/test/CodeGenObjCXX/literals.mm +++ b/clang/test/CodeGenObjCXX/literals.mm @@ -16,10 +16,13 @@ struct Y { // CHECK-LABEL: define void @_Z10test_arrayv void test_array() { + // CHECK: [[ARR:%[a-zA-Z0-9.]+]] = alloca i8* // CHECK: [[OBJECTS:%[a-zA-Z0-9.]+]] = alloca [2 x i8*] // Initializing first element - // CHECK: [[ELEMENT0:%[a-zA-Z0-9.]+]] = getelementptr inbounds [2 x i8*]* [[OBJECTS]], i32 0, i32 0 + // CHECK: [[PTR1:%.*]] = bitcast i8** [[ARR]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[PTR1]]) + // CHECK-NEXT: [[ELEMENT0:%[a-zA-Z0-9.]+]] = getelementptr inbounds [2 x i8*]* [[OBJECTS]], i32 0, i32 0 // CHECK-NEXT: call void @_ZN1XC1Ev // CHECK-NEXT: [[OBJECT0:%[a-zA-Z0-9.]+]] = invoke i8* @_ZNK1XcvP11objc_objectEv // CHECK: [[RET0:%[a-zA-Z0-9.]+]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[OBJECT0]]) @@ -54,6 +57,8 @@ void test_array() { // CHECK-NEXT: call void @_ZN1XD1Ev // CHECK-NOT: ret void // CHECK: call void @objc_release + // CHECK-NEXT: [[PTR2:%.*]] = bitcast i8** [[ARR]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[PTR2]]) // CHECK-NEXT: ret void // Check cleanups @@ -70,10 +75,13 @@ void test_array() { // CHECK-LABEL: define weak_odr void @_Z24test_array_instantiationIiEvv template<typename T> void test_array_instantiation() { + // CHECK: [[ARR:%[a-zA-Z0-9.]+]] = alloca i8* // CHECK: [[OBJECTS:%[a-zA-Z0-9.]+]] = alloca [2 x i8*] // Initializing first element - // CHECK: [[ELEMENT0:%[a-zA-Z0-9.]+]] = getelementptr inbounds [2 x i8*]* [[OBJECTS]], i32 0, i32 0 + // CHECK: [[PTR1:%.*]] = bitcast i8** [[ARR]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[PTR1]]) + // CHECK-NEXT: [[ELEMENT0:%[a-zA-Z0-9.]+]] = getelementptr inbounds [2 x i8*]* [[OBJECTS]], i32 0, i32 0 // CHECK-NEXT: call void @_ZN1XC1Ev // CHECK-NEXT: [[OBJECT0:%[a-zA-Z0-9.]+]] = invoke i8* @_ZNK1XcvP11objc_objectEv // CHECK: [[RET0:%[a-zA-Z0-9.]+]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[OBJECT0]]) @@ -101,6 +109,8 @@ void test_array_instantiation() { // CHECK-NEXT: call void @_ZN1XD1Ev // CHECK-NOT: ret void // CHECK: call void @objc_release + // CHECK-NEXT: [[PTR2]] = bitcast i8** [[ARR]] to i8* + // CHECK-NEXT: call void @llvm.lifetime.end(i64 8, i8* [[PTR2]]) // CHECK-NEXT: ret void // Check cleanups |

