diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2020-11-17 10:06:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-17 10:06:19 +0100 |
| commit | f960f2847ffc1c1422ecb8252ba8ebf1abae7f03 (patch) | |
| tree | f48ff169cbbfa61edc4b9d072bf4d552a97bb5b6 /src/test/codegen | |
| parent | d6da5254a0cc6e896685fa32e2a4c0979933dda5 (diff) | |
| parent | d54ea4f622a788b75d6576281081c4252b1ec05e (diff) | |
| download | rust-f960f2847ffc1c1422ecb8252ba8ebf1abae7f03.tar.gz rust-f960f2847ffc1c1422ecb8252ba8ebf1abae7f03.zip | |
Rollup merge of #78967 - tmiasko:codegen-tests, r=cuviper
Make codegen tests compatible with extra inlining
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/internalize-closures.rs | 2 | ||||
| -rw-r--r-- | src/test/codegen/issue-37945.rs | 20 | ||||
| -rw-r--r-- | src/test/codegen/vec-shrink-panic.rs | 4 |
3 files changed, 17 insertions, 9 deletions
diff --git a/src/test/codegen/internalize-closures.rs b/src/test/codegen/internalize-closures.rs index 8d9192c6fa0..ab3dc3fba5e 100644 --- a/src/test/codegen/internalize-closures.rs +++ b/src/test/codegen/internalize-closures.rs @@ -1,4 +1,4 @@ -// compile-flags: -C no-prepopulate-passes +// compile-flags: -C no-prepopulate-passes -Zmir-opt-level=0 pub fn main() { diff --git a/src/test/codegen/issue-37945.rs b/src/test/codegen/issue-37945.rs index 0ca42b7ec83..a91e8e817e4 100644 --- a/src/test/codegen/issue-37945.rs +++ b/src/test/codegen/issue-37945.rs @@ -1,26 +1,34 @@ -// compile-flags: -O +// compile-flags: -O -Zmerge-functions=disabled // ignore-x86 // ignore-arm // ignore-emscripten // ignore-gnux32 // ignore 32-bit platforms (LLVM has a bug with them) -// See issue #37945. +// Check that LLVM understands that `Iter` pointer is not null. Issue #37945. #![crate_type = "lib"] use std::slice::Iter; -// CHECK-LABEL: @is_empty_1 #[no_mangle] pub fn is_empty_1(xs: Iter<f32>) -> bool { -// CHECK-NOT: icmp eq float* {{.*}}, null +// CHECK-LABEL: @is_empty_1( +// CHECK-NEXT: start: +// CHECK-NEXT: [[A:%.*]] = icmp ne i32* %xs.1, null +// CHECK-NEXT: tail call void @llvm.assume(i1 [[A]]) +// CHECK-NEXT: [[B:%.*]] = icmp eq i32* %xs.0, %xs.1 +// CHECK-NEXT: ret i1 [[B:%.*]] {xs}.next().is_none() } -// CHECK-LABEL: @is_empty_2 #[no_mangle] pub fn is_empty_2(xs: Iter<f32>) -> bool { -// CHECK-NOT: icmp eq float* {{.*}}, null +// CHECK-LABEL: @is_empty_2 +// CHECK-NEXT: start: +// CHECK-NEXT: [[C:%.*]] = icmp ne i32* %xs.1, null +// CHECK-NEXT: tail call void @llvm.assume(i1 [[C]]) +// CHECK-NEXT: [[D:%.*]] = icmp eq i32* %xs.0, %xs.1 +// CHECK-NEXT: ret i1 [[D:%.*]] xs.map(|&x| x).next().is_none() } diff --git a/src/test/codegen/vec-shrink-panic.rs b/src/test/codegen/vec-shrink-panic.rs index 690c7e6d6ce..cee4128c650 100644 --- a/src/test/codegen/vec-shrink-panic.rs +++ b/src/test/codegen/vec-shrink-panic.rs @@ -15,9 +15,9 @@ pub fn shrink_to_fit(vec: &mut Vec<u32>) { // CHECK-LABEL: @issue71861 #[no_mangle] -pub fn issue71861(n: usize) -> Box<[u32]> { +pub fn issue71861(vec: Vec<u32>) -> Box<[u32]> { // CHECK-NOT: panic - vec![0; n].into_boxed_slice() + vec.into_boxed_slice() } // CHECK-LABEL: @issue75636 |
