diff options
| author | Scott McMurray <scottmcm@users.noreply.github.com> | 2019-06-15 20:54:04 -0700 |
|---|---|---|
| committer | Scott McMurray <scottmcm@users.noreply.github.com> | 2019-06-15 21:15:25 -0700 |
| commit | af0e35e6a6837aba121c873e6f91fff6df61d268 (patch) | |
| tree | c8f619b66b24123e5a6063ce6d98c4f2918d79d6 /src/test/codegen/slice-iter-len-eq-zero.rs | |
| parent | 9f8cd9da7b6380b5658163141c767a321f5f0f62 (diff) | |
| download | rust-af0e35e6a6837aba121c873e6f91fff6df61d268.tar.gz rust-af0e35e6a6837aba121c873e6f91fff6df61d268.zip | |
Help LLVM better optimize slice::Iter(Mut)::len
Diffstat (limited to 'src/test/codegen/slice-iter-len-eq-zero.rs')
| -rw-r--r-- | src/test/codegen/slice-iter-len-eq-zero.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/codegen/slice-iter-len-eq-zero.rs b/src/test/codegen/slice-iter-len-eq-zero.rs new file mode 100644 index 00000000000..a5516833900 --- /dev/null +++ b/src/test/codegen/slice-iter-len-eq-zero.rs @@ -0,0 +1,14 @@ +// no-system-llvm +// compile-flags: -O +#![crate_type = "lib"] + +type Demo = [u8; 3]; + +// CHECK-LABEL: @slice_iter_len_eq_zero +#[no_mangle] +pub fn slice_iter_len_eq_zero(y: std::slice::Iter<'_, Demo>) -> bool { + // CHECK-NOT: sub + // CHECK: %2 = icmp eq i8* %1, %0 + // CHECK: ret i1 %2 + y.len() == 0 +} |
