diff options
author | Nico Weber <nicolasweber@gmx.de> | 2015-04-11 23:51:38 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2015-04-11 23:51:38 +0000 |
commit | 1c565c31b161898d8ea32bd71c5ab55b5d6d2b83 (patch) | |
tree | 122eae39680aa0823699c05bf5d76fb24c4816ed /clang/test/CodeGenCXX/nrvo.cpp | |
parent | 7ad0bd54d31788c4858cffa6e203cd06260b800b (diff) | |
download | bcm5719-llvm-1c565c31b161898d8ea32bd71c5ab55b5d6d2b83.tar.gz bcm5719-llvm-1c565c31b161898d8ea32bd71c5ab55b5d6d2b83.zip |
Revert r234581, it might have caused a few miscompiles in Chromium.
If the revert helps, I'll get a repro this Monday. Else I'll put the change
back in.
llvm-svn: 234700
Diffstat (limited to 'clang/test/CodeGenCXX/nrvo.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/nrvo.cpp | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/clang/test/CodeGenCXX/nrvo.cpp b/clang/test/CodeGenCXX/nrvo.cpp index f4ed7cd9f6b..aad287dc320 100644 --- a/clang/test/CodeGenCXX/nrvo.cpp +++ b/clang/test/CodeGenCXX/nrvo.cpp @@ -54,22 +54,16 @@ X test2(bool B) { return x; // CHECK: call {{.*}} @_ZN1XC1Ev - // CHECK-NEXT: {{.*}} getelementptr inbounds %class.X, %class.X* %y, i32 0, i32 0 - // CHECK-NEXT: call void @llvm.lifetime.start // CHECK-NEXT: call {{.*}} @_ZN1XC1Ev // CHECK: call {{.*}} @_ZN1XC1ERKS_ // CHECK: call {{.*}} @_ZN1XC1ERKS_ // CHECK: call {{.*}} @_ZN1XD1Ev - // CHECK-NEXT: call void @llvm.lifetime.end // CHECK: call {{.*}} @_ZN1XD1Ev - // CHECK-NEXT: call void @llvm.lifetime.end // CHECK: ret void // The block ordering in the -fexceptions IR is unfortunate. - // CHECK-EH: call void @llvm.lifetime.start - // CHECK-EH-NEXT: call {{.*}} @_ZN1XC1Ev - // CHECK-EH: call void @llvm.lifetime.start + // CHECK-EH: call {{.*}} @_ZN1XC1Ev // CHECK-EH-NEXT: invoke {{.*}} @_ZN1XC1Ev // -> %invoke.cont, %lpad @@ -102,9 +96,7 @@ X test2(bool B) { // -> %invoke.cont11, %lpad // %invoke.cont11: normal cleanup for 'x' - // CHECK-EH: call void @llvm.lifetime.end - // CHECK-EH-NEXT: call {{.*}} @_ZN1XD1Ev - // CHECK-EH-NEXT: call void @llvm.lifetime.end + // CHECK-EH: call {{.*}} @_ZN1XD1Ev // CHECK-EH-NEXT: ret void // %eh.cleanup: EH cleanup for 'x' @@ -176,12 +168,9 @@ X test6() { X a __attribute__((aligned(8))); return a; // CHECK: [[A:%.*]] = alloca [[X:%.*]], align 8 - // CHECK-NEXT: [[PTR:%.*]] = getelementptr inbounds %class.X, %class.X* [[A]], i32 0, i32 0 - // CHECK-NEXT: call void @llvm.lifetime.start(i64 1, i8* [[PTR]]) // CHECK-NEXT: call {{.*}} @_ZN1XC1Ev([[X]]* [[A]]) // CHECK-NEXT: call {{.*}} @_ZN1XC1ERKS_([[X]]* {{%.*}}, [[X]]* dereferenceable({{[0-9]+}}) [[A]]) // CHECK-NEXT: call {{.*}} @_ZN1XD1Ev([[X]]* [[A]]) - // CHECK-NEXT: call void @llvm.lifetime.end(i64 1, i8* [[PTR]]) // CHECK-NEXT: ret void } |