Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 9 pull requests #110167

Closed
wants to merge 19 commits into from
Closed

Conversation

JohnTitor
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lnicola and others added 19 commits March 23, 2023 13:01
…r=cuviper

Set up standard library path substitution in rust-gdb and gdbgui

Fixes rust-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 fixes compiler-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!

Fixes rust-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.

Resolves rust-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#104916

Closes rust-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 fca8af6c154c6cde2512f1331cf2704f214a818e..6337ed17fb8dcd918d78b7d97d213e923530337c
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)
@rustbot rustbot 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
Member Author

@bors r+ p=9 rollup=never

@bors
Copy link
Contributor

bors commented Apr 11, 2023

📌 Commit b14028a has been approved by JohnTitor

It is now in the queue for this repository.

@bors bors 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
Copy link
Contributor

bors commented Apr 11, 2023

⌛ Testing commit b14028a with merge 37b6cc375ced15baf9571e45797bd413fcacdfef...

@bors
Copy link
Contributor

bors commented Apr 11, 2023

💔 Test failed - checks-actions

@bors bors 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 closed this Apr 11, 2023
@JohnTitor JohnTitor deleted the rollup-e7r9spn branch April 11, 2023 03:19
@rust-log-analyzer
Copy link
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 free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup 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)
Projects
None yet
Development

Successfully merging this pull request may close these issues.