Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Rollup of 9 pull requests - #110167

Closed
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn
Closed

Rollup of 9 pull requests#110167
JohnTitor wants to merge 19 commits into
rust-lang:masterfrom
JohnTitor:rollup-e7r9spn

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicolaand others added 19 commits March 23, 2023 13:01
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
…r=cuviper
Set up standard library path substitution in rust-gdb and gdbgui
Fixesrust-lang#62945
---
Only lightly tested (in release mode, where the paths are a bit of a mess) because my `gdb` appears to crash with `internal-error: inside_main_func: Assertion 'block != nullptr' failed.` and I don't have `gdbgui`. Please review carefully my shell syntax.
There's also `rust-lldb`, but I don't know the equivalent for it.
…uto-trait-for-num-var, r=lcnr
Stall auto trait assembly in new solver for int/float vars
Make sure that we don't match int/float vars against *all* manual auto trait impls due to this check:
https://github.com/rust-lang/rust/blob/2fb0e8d162a021f8a795fb603f5d8c0017855160/compiler/rustc_trait_selection/src/solve/trait_goals.rs#L151-L169
Since `find_map_relevant_impl` treats all impls as candidates for int/float vars, due to the way that `fast_reject::simplify_type` works.
This fixescompiler-errors/next-solver-hir-issues#11.
r? `@lcnr`
Add support for RISC-V relax target feature
This adds `relax` as an allowed RISC-V target feature. The relax feature in LLVM enables [linker relaxation](https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain), an optimization specific to RISC-V that allows global variable accesses to be resolved by the linker by using the global pointer (`gp`) register (rather than constructing the addresses from scratch for each access). Enabling `relax` will cause LLVM to emit relocations in the object file that support this. The feature can be enabled in rustc with `-C target-feature=+relax`.
Currently this feature is disabled by default, but maybe it should be enabled by default since it is an easy performance improvement (but requires the `gp` register to be set up properly). GCC/Clang enable this feature by default (for both hosted/bare-metal targets), and include the `-mno-relax` flag to disable it (see [here](https://github.com/llvm/llvm-project/blob/466d554dcab39c3d42fe0c5b588b795e0e4b9d0d/clang/lib/Driver/ToolChains/Arch/RISCV.cpp#L145) for the code that enables it in Clang). I think it would make sense to enable by default, at least for all hosted targets since the `gp` register should be automatically set up by the runtime. For bare-metal targets, `gp` must be set up manually, so it is probably best to leave off by default to avoid breaking existing applications that do not set up `gp`. Leaving it disabled by default for all targets is also reasonable though.
Let me know your thoughts. Thanks!
Fixesrust-lang#109426.
…iser
Update `error [E0449]: unnecessary visibility qualifier` to be more clear
This updates the error message `error[E0449]: unnecessary visibility qualifier` by clearly indicating that visibility qualifiers already inherit their visibility from a parent item. The error message previously implied that the qualifiers were permitted, which is not the case anymore.
Resolvesrust-lang#109822.
The `wrapping_neg` example for unsigned types shouldn't use `i8`
Probably it should have at least one example with an unsigned type.
fix(doc): do not parse inline when output is json for external crate
relative rust-lang#110138
…-errors
Add regression test for rust-lang#104916Closesrust-lang#104916
I haven't tested if it still passes with debug assertions enabled so it'd be better to wait for CI to be green.
r? compiler-errors
Update books
## rust-lang/book
1 commits in 0510ca84c2ce6bf93c4ccf9248756e9e4fd00b12..c06006157b14b3d47b5c716fc392b77f3b2e21ce
2023-04-03 15:31:55 UTC to 2023-04-03 15:31:55 UTC
- Fix grammar (rust-lang/book#3600)
## rust-lang/reference
3 commits in 3c47807a3131b3c7cacb508f52632078d253cd0a..1f8dc727e94ae4ef92adf70df979521a1ea1143e
2023-04-09 14:04:53 UTC to 2023-03-29 13:21:47 UTC
- Explain typos in `asm!` can be unsound (rust-lang/reference#1344)
- Fix coding style in example: add space between module name and bracket (rust-lang/reference#1347)
- redundant word removed (rust-lang/reference#1346)
## rust-lang/rust-by-example
1 commits in ba84bf35d0f17d404003349309201654d25f61af..31961fe22521a779070a44a8f30a2b00a20b6212
2023-04-10 13:06:34 UTC to 2023-04-10 13:06:34 UTC
- Add clarity to name of file being used in library example. (rust-lang/rust-by-example#1697)
## rust-lang/rustc-dev-guide
8 commits in fca8af6..6337ed1
2023-04-10 14:23:05 UTC to 2023-04-06 00:29:18 UTC
- fix markup (rust-lang/rustc-dev-guide#1670)
- Reorganize "Getting Started" and add a "What should I work on?" section (rust-lang/rustc-dev-guide#1665)
- Clarify cfg(bootstrap) docs (rust-lang/rustc-dev-guide#1669)
- Link to forge instead of duplicating toolstate info (rust-lang/rustc-dev-guide#1664)
- Improve the landing page for contributing to the libstd docs (rust-lang/rustc-dev-guide#1666)
- Various improvements to `check_line_lengths.sh` (rust-lang/rustc-dev-guide#1667)
- Document how to ignore specific files in a diff (rust-lang/rustc-dev-guide#1668)
- mention `git clone --depth 1` (rust-lang/rustc-dev-guide#1663)
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Apr 11, 2023
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=9 rollup=never

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 11, 2023
@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors

bors commented Apr 11, 2023

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 11, 2023
@JohnTitor
JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:
---- [codegen] tests/codegen/issues/issue-101814.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll" "/checkout/tests/codegen/issues/issue-101814.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101814.rs:11:12: error: CHECK: expected string not found in input
// CHECK: [[R:%.+]] = add i32 [[L1]], [[L2]]
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: scanning from here
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L1" equal to "%other\\.peel"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:59:19: note: with "L2" equal to "%other"
%other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll:60:3: note: possible intended match here
%_15.0 = add i32 %other, %other.peel
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101814/issue-101814.ll
Check file: /checkout/tests/codegen/issues/issue-101814.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101814.5807ccee-cgu.0' 2: source_filename = "issue_101814.5807ccee-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"/checkout/library/core/src/slice/iter.rs" }>, align 1 7: @alloc_bbc42f5b608722ecf25803d2bc65b511 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_a7eadb19214e4a0061b3aa6a3e0d6a15, [16 x i8] c"(\00\00\00\00\00\00\00\81\00\00\00\01\00\00\00" }>, align 8 8: 9: ; Function Attrs: nounwind nonlazybind uwtable 10: define noundef i32 @test(ptr noalias nocapture noundef readonly dereferenceable(40) %a) unnamed_addr #0 personality ptr @rust_eh_personality { 11: bb15.i.i.peel: 12: %.ptr14.peel = getelementptr inbounds i32, ptr %a, i64 8 13: %_77.i.i.peel = ptrtoint ptr %.ptr14.peel to i64 14: %_26.i.i.peel = and i64 %_77.i.i.peel, 3 15: %_27.i3.i.peel = icmp eq i64 %_26.i.i.peel, 0 16: br i1 %_27.i3.i.peel, label %bb3.peel, label %panic.i4.i, !prof !2 17: 18: bb3.peel: ; preds = %bb15.i.i.peel 19: %iter.sroa.5.0.ptr31 = getelementptr inbounds i32, ptr %a, i64 9 20: %a26 = ptrtoint ptr %a to i64 21: %0 = and i64 %a26, 3 22: %_22.i.i = icmp eq i64 %0, 0 23: br i1 %_22.i.i, label %bb3, label %panic.i.i, !prof !3 24: 25: panic.i.i: ; preds = %bb3.peel 26: %_27.i.i.le = ptrtoint ptr %iter.sroa.5.0.ptr31 to i64 27: ; invoke core::panicking::panic_misaligned_pointer_dereference 28: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_27.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 29: to label %unreachable.i.i unwind label %terminate.i.i, !noalias !4 30: 31: terminate.i.i: ; preds = %panic.i.i 32: %1 = landingpad { ptr, i32 } 33: cleanup 34: ; call core::panicking::panic_cannot_unwind 35: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !4 36: unreachable 37: 38: unreachable.i.i: ; preds = %panic.i.i 39: unreachable 40: 41: panic.i4.i: ; preds = %bb15.i.i.peel 42: %_77.i.i.le = ptrtoint ptr %.ptr14.peel to i64 43: ; invoke core::panicking::panic_misaligned_pointer_dereference 44: invoke void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef 4, i64 noundef %_77.i.i.le, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_bbc42f5b608722ecf25803d2bc65b511) #4 45: to label %unreachable.i6.i unwind label %terminate.i5.i, !noalias !9 46: 47: terminate.i5.i: ; preds = %panic.i4.i 48: %2 = landingpad { ptr, i32 } 49: cleanup 50: ; call core::panicking::panic_cannot_unwind 51: tail call void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() #5, !noalias !9 52: unreachable 53: 54: unreachable.i6.i: ; preds = %panic.i4.i 55: unreachable 56: 57: bb3: ; preds = %bb3.peel 58: %other.peel = load i32, ptr %.ptr14.peel, align 4, !noundef !12 59: %other = load i32, ptr %iter.sroa.5.0.ptr31, align 4, !noundef !12 check:11'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:11'1 with "L1" equal to "%other\\.peel"
check:11'2 with "L2" equal to "%other"
60: %_15.0 = add i32 %other, %other.peel check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:11'3 ? possible intended match
61: ret i32 %_15.0 check:11'0 ~~~~~~~~~~~~~~~~
62: } check:11'0 ~~
63: check:11'0 ~
64: ; Function Attrs: nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #1 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66: check:11'0 ~
67: ; core::panicking::panic_misaligned_pointer_dereference check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68: ; Function Attrs: cold noinline noreturn nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: declare void @_ZN4core9panicking36panic_misaligned_pointer_dereference17hfe2b5553f59c5bedE(i64 noundef, i64 noundef, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #2 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: check:11'0 ~
71: ; core::panicking::panic_cannot_unwind check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: ; Function Attrs: cold noinline noreturn nounwind nonlazybind uwtable check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: declare void @_ZN4core9panicking19panic_cannot_unwind17h2fde18bc291a9074E() unnamed_addr #3 check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: check:11'0 ~
75: attributes #0 = { nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76: attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: attributes #2 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: attributes #3 = { cold noinline noreturn nounwind nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: attributes #4 = { noreturn } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: attributes #5 = { noinline noreturn nounwind } check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81: check:11'0 ~
82: !llvm.module.flags = !{!0, !1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83: check:11'0 ~
84: !0 = !{i32 8, !"PIC Level", i32 2} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86: !2 = !{!"branch_weights", i32 2000, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87: !3 = !{!"branch_weights", i32 1999, i32 1} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88: !4 = !{!5, !7} check:11'0 ~~~~~~~~~~~~~~~
89: !5 = distinct !{!5, !6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90: !6 = distinct !{!6, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1363c1b509f5468dE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91: !7 = distinct !{!7, !8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92: !8 = distinct !{!8, !"_ZN100_$LT$core..iter..adapters..skip..Skip$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfb858162eea9c05eE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93: !9 = !{!10, !7} check:11'0 ~~~~~~~~~~~~~~~~
94: !10 = distinct !{!10, !11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE: %self"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95: !11 = distinct !{!11, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3nth17h77ab52d326373d3fE"} check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96: !12 = !{} check:11'0 ~~~~~~~~~~
------------------------------------------
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
---- [codegen] tests/codegen/issues/issue-101082.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll" "/checkout/tests/codegen/issues/issue-101082.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen/issues/issue-101082.rs:9:12: error: CHECK: expected string not found in input
// CHECK: ret i64 165
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:9:26: note: scanning from here
define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll:51:2: note: possible intended match here
ret i64 %15
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-101082/issue-101082.ll
Check file: /checkout/tests/codegen/issues/issue-101082.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
1: ; ModuleID = 'issue_101082.6ae14e6e-cgu.0' 2: source_filename = "issue_101082.6ae14e6e-cgu.0" 3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 4: target triple = "x86_64-unknown-linux-gnu" 5: 6: %"core::array::iter::IntoIter<usize, 6>" = type { [6 x i64], { i64, i64 } } 7: 8: ; Function Attrs: nonlazybind uwtable 9: define noundef i64 @test() unnamed_addr #0 personality ptr @rust_eh_personality { check:9'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
10: start: check:9'0 ~~~~~~~
11: %iter = alloca %"core::array::iter::IntoIter<usize, 6>", align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: store i64 23, ptr %iter, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %_2.sroa.0.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: store i64 16, ptr %_2.sroa.0.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16: %_2.sroa.0.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 16 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17: store i64 54, ptr %_2.sroa.0.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18: %_2.sroa.0.sroa.6.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 24 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: store i64 3, ptr %_2.sroa.0.sroa.6.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20: %_2.sroa.0.sroa.7.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 32 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: store i64 60, ptr %_2.sroa.0.sroa.7.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: %_2.sroa.0.sroa.8.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 40 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: store i64 9, ptr %_2.sroa.0.sroa.8.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %_2.sroa.4.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 48 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25: store i64 0, ptr %_2.sroa.4.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: %_2.sroa.5.0.iter.sroa_idx = getelementptr inbounds i8, ptr %iter, i64 56 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: store i64 6, ptr %_2.sroa.5.0.iter.sroa_idx, align 8 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28: store i64 1, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = load i64, ptr %iter, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: store i64 2, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: %1 = getelementptr inbounds i64, ptr %iter, i64 1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: %2 = load i64, ptr %1, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: store i64 3, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %3 = getelementptr inbounds i64, ptr %iter, i64 2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %4 = load i64, ptr %3, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36: store i64 4, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37: %5 = getelementptr inbounds i64, ptr %iter, i64 3 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38: %6 = load i64, ptr %5, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39: store i64 5, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40: %7 = getelementptr inbounds i64, ptr %iter, i64 4 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41: %8 = load i64, ptr %7, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42: %9 = add i64 %2, %0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~
43: %10 = add i64 %4, %9 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~
44: %11 = add i64 %6, %10 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
45: %12 = add i64 %8, %11 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~
46: store i64 6, ptr %_2.sroa.4.0.iter.sroa_idx, align 8, !alias.scope !2 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47: %13 = getelementptr inbounds i64, ptr %iter, i64 5 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48: %14 = load i64, ptr %13, align 8, !alias.scope !7, !noundef !12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49: %15 = add i64 %14, %12 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~
50: call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %iter) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51: ret i64 %15 check:9'0 ~~~~~~~~~~~~~
check:9'1 ? possible intended match
52: } check:9'0 ~~
53: check:9'0 ~
54: ; Function Attrs: nonlazybind uwtable check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55: declare noundef i32 @rust_eh_personality(i32 noundef, i32 noundef, i64 noundef, ptr noundef, ptr noundef) unnamed_addr #0 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56: check:9'0 ~
57: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59: check:9'0 ~
60: ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62: check:9'0 ~
63: attributes #0 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64: attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65: check:9'0 ~
66: !llvm.module.flags = !{!0, !1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67: check:9'0 ~
68: !0 = !{i32 8, !"PIC Level", i32 2} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69: !1 = !{i32 2, !"RtLibUseGOT", i32 1} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70: !2 = !{!3, !5} check:9'0 ~~~~~~~~~~~~~~~
71: !3 = distinct !{!3, !4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72: !4 = distinct !{!4, !"_ZN93_$LT$core..ops..index_range..IndexRange$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcd06cf948aedbc02E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73: !5 = distinct !{!5, !6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE: %self"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74: !6 = distinct !{!6, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8c4aa3b080570dfdE"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75: !7 = !{!8, !10, !5} check:9'0 ~~~~~~~~~~~~~~~~~~~~
76: !8 = distinct !{!8, !9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E: argument 0"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77: !9 = distinct !{!9, !"_ZN99_$LT$core..array..iter..IntoIter$LT$T$C$_$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17h7d659d5703b2e0d6E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78: !10 = distinct !{!10, !11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E: %f"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79: !11 = distinct !{!11, !"_ZN4core6option15Option$LT$T$GT$3map17h49e298c18e57e707E"} check:9'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80: !12 = !{} check:9'0 ~~~~~~~~~~
------------------------------------------

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-log-analyzer@rustbot@lnicola@zyedidia@nikic@ElectrifyPro@scottmcm@bvanjoi@compiler-errors