Skip to content

Rollup of 12 pull requests - #165891

Closed
JonathanBrouwer wants to merge 45 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-UscFiPc
Closed

JonathanBrouwer wants to merge 45 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-UscFiPc

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

TechnoPorg and others added 30 commits November 10, 2026 18:32
Rebuilding rustc against statically linked LLVM now reaches the code that locates clang’s profiling runtime that was previously skipped.
Bootstrap checks during dry-run mode also need to discover clang-cl, so this change means now run_in_dry_run() adds clang-cl during the planning pass and avoids the panic check later.
after some discussion, we decided we want view types to be `!Sized`, at
least at the beginning. this commit updates the test suite so that view
types are not passed by value anymore.
this commit is quite big because we want to always exhaustively match on
all the `TyKind` variants. none of the `unimplemented!()` is reachable
because we don't *actually* lower view types (yet!).
/!\ the test suite is has not been updated /!\

the `unreachable!()`s added previously are suddenly reached, triggering
literally all the view types test suite to ICE. this is fixed by the next
commit.
By default, we optimize cargo and thus need to run the stage2 PGO-instrumented
cargo binary to get its profiles.

When we opt out of that, we don't have a stage2 cargo, and don't need it,
so we just use the regular stage0 cargo there.
@rustbot rustbot added 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. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Nov 12, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu,test-x86_64-gnu-llvm-22-3,test-aarch64-msvc-2

@rust-bors

rust-bors Bot commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 64245c8 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Nov 12, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Nov 12, 2026
Rollup of 12 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
try-job: test-x86_64-gnu-llvm-22-3
try-job: test-aarch64-msvc-2
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-various failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test [ui] tests/ui/tool-attributes/tool-attributes-misplaced-1.rs ... ok
test [ui] tests/ui/tool-attributes/tool_lints-fail.rs ... ok
test [ui] tests/ui/tool-attributes/tool_lints.rs ... ok
test [ui] tests/ui/tool-attributes/unknown-lint-tool-name.rs ... ok
test [ui] tests/ui/tpde/check_option.rs#implicit ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/check_option.rs#invalid ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/check_option.rs#only ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/check_option.rs#try ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/llvm_fallback.rs#only ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/llvm_fallback.rs#try ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_lto.rs#fat ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_lto.rs#no ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_lto.rs#thin ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_lto.rs#unspecified ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_split_debuginfo.rs#off ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_split_debuginfo.rs#packed ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_split_debuginfo.rs#unpacked ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/no_split_debuginfo.rs#unspecified ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/opt_level.rs#one ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/opt_level.rs#three ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/opt_level.rs#two ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tpde/opt_level.rs#zero ... ignored, ignored when TPDE-LLVM is disabled or LLVM is not the default codegen backend
test [ui] tests/ui/tool-attributes/unknown-tool-name.rs ... ok
test [ui] tests/ui/track-diagnostics/track.rs ... ok
test [ui] tests/ui/track-diagnostics/track2.rs ... ok
test [ui] tests/ui/track-diagnostics/track4.rs ... ok
test [ui] tests/ui/track-diagnostics/track3.rs ... ok
---

---- [codegen] tests/codegen-llvm/range-loop.rs stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/range-loop.rs:24:12: error: CHECK: expected string not found in input
 // CHECK: %[[NOT_DONE:.+]] = icmp ult i32 %[[T1]], %n
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: scanning from here
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: with "T1" equal to "_9"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: pattern attempts to capture variables: "NOT_DONE"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:17:2: note: possible intended match here
 %_6 = icmp ugt i32 %n, %_9
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll
Check file: /checkout/tests/codegen-llvm/range-loop.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1: ; ModuleID = 'range_loop.33fd62f23c763c1e-cgu.0' 
            2: source_filename = "range_loop.33fd62f23c763c1e-cgu.0" 
            3: target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20" 
            4: target triple = "wasm32-unknown-wasip3" 
            5:  
            6: ; Function Attrs: uwtable 
            7: define void @call_for_zero_to_n(i32 noundef %n, ptr noundef nonnull %f) unnamed_addr #0 !guid !3 { 
            8: start: 
            9:  %iter = alloca [4 x i8], align 4 
           10:  %_3 = alloca [8 x i8], align 4 
           11:  store i32 0, ptr %iter, align 4 
           12:  br label %bb1 
           13:  
           14: bb1: ; preds = %bb3, %start 
           15:  call void @llvm.lifetime.start.p0(ptr %_3) 
           16:  %_9 = load i32, ptr %iter, align 4, !noundef !4 
check:24'0                               {                        search range start (exclusive)
check:24'1                                                        error: no match found in search range
check:24'2                                                        with "T1" equal to "_9"
check:24'3                                                        pattern attempts to capture variables: "NOT_DONE"
           17:  %_6 = icmp ugt i32 %n, %_9 
check:24'4      ?                            possible intended match
           18:  br i1 %_6, label %bb3, label %bb4 
           19:  
           20: bb4: ; preds = %bb1 
           21:  call void @llvm.lifetime.end.p0(ptr %_3) 
           22:  ret void 
           23:  
           24: bb3: ; preds = %bb1 
           25:  %_7 = load i32, ptr %iter, align 4, !noundef !4 
           26:  %0 = add nuw i32 %_7, 1 
           27:  store i32 %0, ptr %iter, align 4 
           28:  %1 = getelementptr inbounds i8, ptr %_3, i32 4 
           29:  store i32 %_7, ptr %1, align 4 
           30:  store i32 1, ptr %_3, align 4 
           31:  %2 = getelementptr inbounds i8, ptr %_3, i32 4 
           32:  %i = load i32, ptr %2, align 4, !noundef !4 
           33:  call void %f(i32 noundef %i) 
           34:  call void @llvm.lifetime.end.p0(ptr %_3) 
           35:  br label %bb1 
           36: } 
           37:  
           38: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           39: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 
           40:  
           41: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           42: declare void @llvm.lifetime.end.p0(ptr captures(none)) #1 
           43:  
           44: attributes #0 = { uwtable "target-cpu"="generic" "target-features"="+exception-handling" } 
           45: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } 
           46:  
           47: !llvm.module.flags = !{!0, !1} 
           48: !llvm.ident = !{!2} 
           49:  
           50: !0 = !{i32 8, !"PIC Level", i32 2} 
           51: !1 = !{i32 7, !"uwtable", i32 2} 
           52: !2 = !{!"rustc version 1.102.0-nightly (6ae1ba135 2026-11-12)"} 
           53: !3 = !{i64 3962924750974940102} 
           54: !4 = !{} 
check:24'5              } search range end (exclusive)
>>>>>>

------------------------------------------

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-llvm/range-loop/range-loop.ll" "/checkout/tests/codegen-llvm/range-loop.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/range-loop.rs:24:12: error: CHECK: expected string not found in input
 // CHECK: %[[NOT_DONE:.+]] = icmp ult i32 %[[T1]], %n
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: scanning from here
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: with "T1" equal to "_9"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: pattern attempts to capture variables: "NOT_DONE"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:17:2: note: possible intended match here
 %_6 = icmp ugt i32 %n, %_9
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll
Check file: /checkout/tests/codegen-llvm/range-loop.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1: ; ModuleID = 'range_loop.33fd62f23c763c1e-cgu.0' 
            2: source_filename = "range_loop.33fd62f23c763c1e-cgu.0" 
            3: target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20" 
            4: target triple = "wasm32-unknown-wasip3" 
            5:  
            6: ; Function Attrs: uwtable 
            7: define void @call_for_zero_to_n(i32 noundef %n, ptr noundef nonnull %f) unnamed_addr #0 !guid !3 { 
            8: start: 
            9:  %iter = alloca [4 x i8], align 4 
           10:  %_3 = alloca [8 x i8], align 4 
           11:  store i32 0, ptr %iter, align 4 
           12:  br label %bb1 
           13:  
           14: bb1: ; preds = %bb3, %start 
           15:  call void @llvm.lifetime.start.p0(ptr %_3) 
           16:  %_9 = load i32, ptr %iter, align 4, !noundef !4 
check:24'0                               {                        search range start (exclusive)
check:24'1                                                        error: no match found in search range
check:24'2                                                        with "T1" equal to "_9"
check:24'3                                                        pattern attempts to capture variables: "NOT_DONE"
           17:  %_6 = icmp ugt i32 %n, %_9 
check:24'4      ?                            possible intended match
           18:  br i1 %_6, label %bb3, label %bb4 
           19:  
           20: bb4: ; preds = %bb1 
           21:  call void @llvm.lifetime.end.p0(ptr %_3) 
           22:  ret void 
           23:  
           24: bb3: ; preds = %bb1 
           25:  %_7 = load i32, ptr %iter, align 4, !noundef !4 
           26:  %0 = add nuw i32 %_7, 1 
           27:  store i32 %0, ptr %iter, align 4 
           28:  %1 = getelementptr inbounds i8, ptr %_3, i32 4 
           29:  store i32 %_7, ptr %1, align 4 
           30:  store i32 1, ptr %_3, align 4 
           31:  %2 = getelementptr inbounds i8, ptr %_3, i32 4 
           32:  %i = load i32, ptr %2, align 4, !noundef !4 
           33:  call void %f(i32 noundef %i) 
           34:  call void @llvm.lifetime.end.p0(ptr %_3) 
           35:  br label %bb1 
           36: } 
           37:  
           38: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           39: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 
           40:  
           41: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           42: declare void @llvm.lifetime.end.p0(ptr captures(none)) #1 
           43:  
           44: attributes #0 = { uwtable "target-cpu"="generic" "target-features"="+exception-handling" } 
           45: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } 
           46:  
           47: !llvm.module.flags = !{!0, !1} 
           48: !llvm.ident = !{!2} 
           49:  
           50: !0 = !{i32 8, !"PIC Level", i32 2} 
           51: !1 = !{i32 7, !"uwtable", i32 2} 
           52: !2 = !{!"rustc version 1.102.0-nightly (6ae1ba135 2026-11-12)"} 
           53: !3 = !{i64 3962924750974940102} 
           54: !4 = !{} 
check:24'5              } search range end (exclusive)
>>>>>>
------------------------------------------

---- [codegen] tests/codegen-llvm/range-loop.rs stdout end ----

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Nov 13, 2026
…uwer

Rollup of 12 pull requests

Successful merges:

 - #164707 (Re-enable rustc profile generation for static linked llvm on Windows x64 builds )
 - #165221 (Canonicalize more comparison operators)
 - #165880 (Remove dead code for returning `BackendRepr::Memory` with `PassMode::Direct`)
 - #164108 (Add unstable `-Zllvm-tpde` flag to `rustc_codegen_llvm`)
 - #165565 (view-types: lower view types from HIR)
 - #165771 (tests: cover MSVC ThinLTO exported symbol preservation)
 - #165810 (reflection: reflect attributes from adts, fields, and variants)
 - #165823 (Tweak crate error wording and turn them into fatal errors)
 - #165849 (More opt-dist improvements)
 - #165855 (Update `sysinfo` version to `0.40.3`)
 - #165861 (cg_llvm: Use an invariant lifetime brand for LLVM attributes)
 - #165872 (Some attribute related cleanups)
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Nov 13, 2026
@rust-bors

rust-bors Bot commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 6ae1ba1 failed: CI. Failed job:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-various failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

---- [codegen] tests/codegen-llvm/range-loop.rs stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/range-loop.rs:24:12: error: CHECK: expected string not found in input
 // CHECK: %[[NOT_DONE:.+]] = icmp ult i32 %[[T1]], %n
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: scanning from here
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: with "T1" equal to "_9"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: pattern attempts to capture variables: "NOT_DONE"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:17:2: note: possible intended match here
 %_6 = icmp ugt i32 %n, %_9
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll
Check file: /checkout/tests/codegen-llvm/range-loop.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1: ; ModuleID = 'range_loop.33fd62f23c763c1e-cgu.0' 
            2: source_filename = "range_loop.33fd62f23c763c1e-cgu.0" 
            3: target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20" 
            4: target triple = "wasm32-unknown-wasip3" 
            5:  
            6: ; Function Attrs: uwtable 
            7: define void @call_for_zero_to_n(i32 noundef %n, ptr noundef nonnull %f) unnamed_addr #0 !guid !3 { 
            8: start: 
            9:  %iter = alloca [4 x i8], align 4 
           10:  %_3 = alloca [8 x i8], align 4 
           11:  store i32 0, ptr %iter, align 4 
           12:  br label %bb1 
           13:  
           14: bb1: ; preds = %bb3, %start 
           15:  call void @llvm.lifetime.start.p0(ptr %_3) 
           16:  %_9 = load i32, ptr %iter, align 4, !noundef !4 
check:24'0                               {                        search range start (exclusive)
check:24'1                                                        error: no match found in search range
check:24'2                                                        with "T1" equal to "_9"
check:24'3                                                        pattern attempts to capture variables: "NOT_DONE"
           17:  %_6 = icmp ugt i32 %n, %_9 
check:24'4      ?                            possible intended match
           18:  br i1 %_6, label %bb3, label %bb4 
           19:  
           20: bb4: ; preds = %bb1 
           21:  call void @llvm.lifetime.end.p0(ptr %_3) 
           22:  ret void 
           23:  
           24: bb3: ; preds = %bb1 
           25:  %_7 = load i32, ptr %iter, align 4, !noundef !4 
           26:  %0 = add nuw i32 %_7, 1 
           27:  store i32 %0, ptr %iter, align 4 
           28:  %1 = getelementptr inbounds i8, ptr %_3, i32 4 
           29:  store i32 %_7, ptr %1, align 4 
           30:  store i32 1, ptr %_3, align 4 
           31:  %2 = getelementptr inbounds i8, ptr %_3, i32 4 
           32:  %i = load i32, ptr %2, align 4, !noundef !4 
           33:  call void %f(i32 noundef %i) 
           34:  call void @llvm.lifetime.end.p0(ptr %_3) 
           35:  br label %bb1 
           36: } 
           37:  
           38: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           39: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 
           40:  
           41: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           42: declare void @llvm.lifetime.end.p0(ptr captures(none)) #1 
           43:  
           44: attributes #0 = { uwtable "target-cpu"="generic" "target-features"="+exception-handling" } 
           45: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } 
           46:  
           47: !llvm.module.flags = !{!0, !1} 
           48: !llvm.ident = !{!2} 
           49:  
           50: !0 = !{i32 8, !"PIC Level", i32 2} 
           51: !1 = !{i32 7, !"uwtable", i32 2} 
           52: !2 = !{!"rustc version 1.102.0-nightly (221a33717 2026-11-13)"} 
           53: !3 = !{i64 3962924750974940102} 
           54: !4 = !{} 
check:24'5              } search range end (exclusive)
>>>>>>

------------------------------------------

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-llvm/range-loop/range-loop.ll" "/checkout/tests/codegen-llvm/range-loop.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/range-loop.rs:24:12: error: CHECK: expected string not found in input
 // CHECK: %[[NOT_DONE:.+]] = icmp ult i32 %[[T1]], %n
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: scanning from here
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: with "T1" equal to "_9"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:16:28: note: pattern attempts to capture variables: "NOT_DONE"
 %_9 = load i32, ptr %iter, align 4, !noundef !4
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll:17:2: note: possible intended match here
 %_6 = icmp ugt i32 %n, %_9
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/range-loop/range-loop.ll
Check file: /checkout/tests/codegen-llvm/range-loop.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1: ; ModuleID = 'range_loop.33fd62f23c763c1e-cgu.0' 
            2: source_filename = "range_loop.33fd62f23c763c1e-cgu.0" 
            3: target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20" 
            4: target triple = "wasm32-unknown-wasip3" 
            5:  
            6: ; Function Attrs: uwtable 
            7: define void @call_for_zero_to_n(i32 noundef %n, ptr noundef nonnull %f) unnamed_addr #0 !guid !3 { 
            8: start: 
            9:  %iter = alloca [4 x i8], align 4 
           10:  %_3 = alloca [8 x i8], align 4 
           11:  store i32 0, ptr %iter, align 4 
           12:  br label %bb1 
           13:  
           14: bb1: ; preds = %bb3, %start 
           15:  call void @llvm.lifetime.start.p0(ptr %_3) 
           16:  %_9 = load i32, ptr %iter, align 4, !noundef !4 
check:24'0                               {                        search range start (exclusive)
check:24'1                                                        error: no match found in search range
check:24'2                                                        with "T1" equal to "_9"
check:24'3                                                        pattern attempts to capture variables: "NOT_DONE"
           17:  %_6 = icmp ugt i32 %n, %_9 
check:24'4      ?                            possible intended match
           18:  br i1 %_6, label %bb3, label %bb4 
           19:  
           20: bb4: ; preds = %bb1 
           21:  call void @llvm.lifetime.end.p0(ptr %_3) 
           22:  ret void 
           23:  
           24: bb3: ; preds = %bb1 
           25:  %_7 = load i32, ptr %iter, align 4, !noundef !4 
           26:  %0 = add nuw i32 %_7, 1 
           27:  store i32 %0, ptr %iter, align 4 
           28:  %1 = getelementptr inbounds i8, ptr %_3, i32 4 
           29:  store i32 %_7, ptr %1, align 4 
           30:  store i32 1, ptr %_3, align 4 
           31:  %2 = getelementptr inbounds i8, ptr %_3, i32 4 
           32:  %i = load i32, ptr %2, align 4, !noundef !4 
           33:  call void %f(i32 noundef %i) 
           34:  call void @llvm.lifetime.end.p0(ptr %_3) 
           35:  br label %bb1 
           36: } 
           37:  
           38: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           39: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1 
           40:  
           41: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
           42: declare void @llvm.lifetime.end.p0(ptr captures(none)) #1 
           43:  
           44: attributes #0 = { uwtable "target-cpu"="generic" "target-features"="+exception-handling" } 
           45: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } 
           46:  
           47: !llvm.module.flags = !{!0, !1} 
           48: !llvm.ident = !{!2} 
           49:  
           50: !0 = !{i32 8, !"PIC Level", i32 2} 
           51: !1 = !{i32 7, !"uwtable", i32 2} 
           52: !2 = !{!"rustc version 1.102.0-nightly (221a33717 2026-11-13)"} 
           53: !3 = !{i64 3962924750974940102} 
           54: !4 = !{} 
check:24'5              } search range end (exclusive)
>>>>>>
------------------------------------------

---- [codegen] tests/codegen-llvm/range-loop.rs stdout end ----

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 13, 2026
@rust-bors

rust-bors Bot commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 221a337 failed: CI. Failed job:

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 13, 2026
@rust-bors

rust-bors Bot commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

PR #165221, which is a member of this rollup, was unapproved.

@rust-bors

rust-bors Bot commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

PR #165823, which is a member of this rollup, was unapproved.

@Zalathar Zalathar closed this Nov 13, 2026
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. 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. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. T-rustfmt Relevant to the rustfmt 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.