forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rust-lang#79128 - m-ou-se:rollup-lzz1dym, r=m-ou-se
Rollup of 9 pull requests Successful merges: - rust-lang#77939 (Ensure that the source code display is working with DOS backline) - rust-lang#78138 (Upgrade dlmalloc to version 0.2) - rust-lang#78967 (Make codegen tests compatible with extra inlining) - rust-lang#79027 (Limit storage duration of inlined always live locals) - rust-lang#79077 (document that __rust_alloc is also magic to our LLVM fork) - rust-lang#79088 (clarify `span_label` documentation) - rust-lang#79097 (Code block invalid html tag lint) - rust-lang#79105 (std: Fix test `symlink_hard_link` on Windows) - rust-lang#79107 (build-manifest: strip newline from rustc version) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
- Loading branch information
Showing
24 changed files
with
223 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">foo</span>() { | ||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"foo"</span>); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.