Skip to content

Stop using rustc_layout_scalar_valid_range_* in rustc#152569

Open
oli-obk wants to merge 1 commit intorust-lang:mainfrom
oli-obk:rustc_layout_scalar_valid_range_end_end
Open

Stop using rustc_layout_scalar_valid_range_* in rustc#152569
oli-obk wants to merge 1 commit intorust-lang:mainfrom
oli-obk:rustc_layout_scalar_valid_range_end_end

Conversation

@oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Feb 13, 2026

Another step towards #135996

Required some manual impls, but we already do many manual impls for the newtype_index types, so it's not really a new maintenance burden.

@rustbot
Copy link
Collaborator

rustbot commented Feb 13, 2026

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred in coverage instrumentation.

cc @Zalathar

@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. labels Feb 13, 2026
@rustbot
Copy link
Collaborator

rustbot commented Feb 13, 2026

r? @davidtwco

rustbot has assigned @davidtwco.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 68 candidates
  • Random selection from 18 candidates

@rust-log-analyzer

This comment has been minimized.

Copy link
Member

@davidtwco davidtwco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with CI failures fixed

View changes since this review

@oli-obk oli-obk force-pushed the rustc_layout_scalar_valid_range_end_end branch from b7ee60f to 01df8d6 Compare February 16, 2026 15:19
@rustbot

This comment has been minimized.

@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 16, 2026

@bors r=davidtwco

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 16, 2026

📌 Commit 01df8d6 has been approved by davidtwco

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 Feb 16, 2026
@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 16, 2026

oh wait

@bors r-

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 16, 2026
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Feb 16, 2026
@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Feb 16, 2026
…nd, r=<try>

Stop using rustc_layout_scalar_valid_range_* in rustc
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 16, 2026

☀️ Try build successful (CI)
Build commit: e8d615a (e8d615a27a9044825333881a720535b5c42eb976, parent: 71e00273c0921e1bc850ae8cc4161fbb44cfa848)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e8d615a): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 2
Regressions ❌
(secondary)
0.4% [0.3%, 0.5%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.3%, -0.1%] 5
All ❌✅ (primary) 0.2% [0.2%, 0.2%] 2

Max RSS (memory usage)

Results (primary 2.7%, secondary -3.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.7% [2.7%, 2.7%] 1
Regressions ❌
(secondary)
4.9% [4.9%, 4.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-6.2% [-6.9%, -5.4%] 3
All ❌✅ (primary) 2.7% [2.7%, 2.7%] 1

Cycles

Results (secondary -2.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.3%, -2.3%] 1
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 485.967s -> 484.264s (-0.35%)
Artifact size: 397.80 MiB -> 397.80 MiB (0.00%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Feb 16, 2026
@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 17, 2026

@bors r=davidtwco

The detailed view of the instruction count regression shows measures time improvements. Those look random, too, so I'm guessing it's just noise

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 17, 2026

📌 Commit 01df8d6 has been approved by davidtwco

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 17, 2026
@jhpratt
Copy link
Member

jhpratt commented Feb 18, 2026

Given the large number of rollup=never PRs in the queue and the apparent noise here,

@bors rollup=iffy

jhpratt added a commit to jhpratt/rust that referenced this pull request Feb 18, 2026
…range_end_end, r=davidtwco

Stop using rustc_layout_scalar_valid_range_* in rustc

Another step towards rust-lang#135996

Required some manual impls, but we already do many manual impls for the newtype_index types, so it's not really a new maintenance burden.
@jhpratt
Copy link
Member

jhpratt commented Feb 18, 2026

I believe this is the cause of #152781 (comment), either alone or in combination (whether preliminary CI passes in #152782 will tell for sure)

@bors r-

@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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 18, 2026
@Zalathar
Copy link
Member

Zalathar commented Feb 18, 2026

Yeah this definitely has a soft conflict with the recently-merged #152703, because the macro mentions rustc_query_system which no longer exists.

@oli-obk oli-obk force-pushed the rustc_layout_scalar_valid_range_end_end branch from 01df8d6 to e62bc63 Compare February 18, 2026 12:20
@rustbot
Copy link
Collaborator

rustbot commented Feb 18, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@oli-obk
Copy link
Contributor Author

oli-obk commented Feb 18, 2026

@bors r=davidtwco

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 18, 2026

📌 Commit e62bc63 has been approved by davidtwco

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 18, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 18, 2026
…range_end_end, r=davidtwco

Stop using rustc_layout_scalar_valid_range_* in rustc

Another step towards rust-lang#135996

Required some manual impls, but we already do many manual impls for the newtype_index types, so it's not really a new maintenance burden.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 18, 2026
…range_end_end, r=davidtwco

Stop using rustc_layout_scalar_valid_range_* in rustc

Another step towards rust-lang#135996

Required some manual impls, but we already do many manual impls for the newtype_index types, so it's not really a new maintenance burden.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 18, 2026
…range_end_end, r=davidtwco

Stop using rustc_layout_scalar_valid_range_* in rustc

Another step towards rust-lang#135996

Required some manual impls, but we already do many manual impls for the newtype_index types, so it's not really a new maintenance burden.
rust-bors bot pushed a commit that referenced this pull request Feb 18, 2026
…uwer

Rollup of 18 pull requests

Successful merges:

 - #152799 (Subtree sync for rustc_codegen_cranelift)
 - #152569 (Stop using rustc_layout_scalar_valid_range_* in rustc)
 - #151059 (x86: support passing `u128`/`i128` to inline assembly)
 - #152097 (Suggest local variables for captured format args)
 - #152734 (Respect the `--ci` flag in more places in bootstrap)
 - #151703 (Fix ICE in transmutability error reporting when type aliases are normalized)
 - #152173 (Reflection TypeKind::FnPtr)
 - #152564 (Remove unnecessary closure.)
 - #152628 (tests: rustc_public: Check const allocation for all variables (1 of 11 was missing))
 - #152658 (compiletest: normalize stderr before SVG rendering)
 - #152766 (std::r#try! - avoid link to nightly docs)
 - #152780 (Remove some clones in deriving)
 - #152787 (Add a mir-opt test for alignment check generation [zero changes outside tests])
 - #152790 (Fix incorrect target in aarch64-unknown-linux-gnu docs)
 - #152792 (Fix an ICE while checking param env shadowing on an erroneous trait impl)
 - #152793 (Do no add -no-pie on Windows)
 - #152803 (Avoid delayed-bug ICE for malformed diagnostic attrs)
 - #152806 (interpret: fix comment typo)
@JonathanBrouwer
Copy link
Contributor

@bors try jobs=dist-x86_64-linux-alt

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Feb 18, 2026
…nd, r=<try>

Stop using rustc_layout_scalar_valid_range_* in rustc


try-job: dist-x86_64-linux-alt
@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 Feb 18, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 18, 2026

💔 Test for 0825e37 failed: CI. Failed job:

@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux-alt failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 111)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 113)
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
IMAGE                                               ID             DISK USAGE   CONTENT SIZE   EXTRA
ghcr.io/dependabot/dependabot-updater-core:latest   9a6a20114926       1.18GB          310MB        
ghcr.io/rust-lang/buildkit:buildx-stable-1          1e110c71d389        345MB          108MB   U    
rust-ci:latest                                      19b7cb1d8af5        6.6GB         1.71GB        
The push refers to repository [ghcr.io/rust-lang/rust-ci]
61e6afbc8c9e: Waiting
ffdfa2405358: Waiting
3c76e94b39c3: Waiting
---
[  7%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Watchdog.cpp.o
[  7%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/zOSLibFunctions.cpp.o
[  7%] Linking CXX static library ../libLLVMSupport.a
[  7%] Built target LLVMSupport
[  7%] Building CXX object lib/Support/LSP/CMakeFiles/LLVMSupportLSP.dir/Protocol.cpp.o
[  7%] Building CXX object lib/Bitstream/Reader/CMakeFiles/LLVMBitstreamReader.dir/BitstreamReader.cpp.o
[  7%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MappedBlockStream.cpp.o
[  7%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/DetailedRecordsBackend.cpp.o
[  7%] Building CXX object lib/Extensions/CMakeFiles/LLVMExtensions.dir/Extensions.cpp.o
[  7%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/ActionCache.cpp.o
---
[  7%] Built target LLVMExtensions
[  7%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CodeViewError.cpp.o
[  7%] Building CXX object lib/Frontend/Directive/CMakeFiles/LLVMFrontendDirective.dir/Spelling.cpp.o
[  7%] Built target LLVMBitstreamReader
[  7%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/ActionCaches.cpp.o
[  7%] Building CXX object lib/Support/LSP/CMakeFiles/LLVMSupportLSP.dir/Transport.cpp.o
[  7%] Building CXX object lib/Plugins/CMakeFiles/LLVMPlugins.dir/PassPlugin.cpp.o
[  7%] Linking CXX static library ../libLLVMFileCheck.a
[  7%] Built target LLVMFileCheck
[  7%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o
[  7%] Linking CXX static library ../../libLLVMFrontendDirective.a
[  7%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CodeViewRecordIO.cpp.o
[  7%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFCommon.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/JSONBackend.cpp.o
[  8%] Built target LLVMFrontendDirective
[  8%] Building CXX object lib/WindowsManifest/CMakeFiles/LLVMWindowsManifest.dir/WindowsManifestMerger.cpp.o
[  8%] Building CXX object lib/Support/LSP/CMakeFiles/LLVMSupportLSP.dir/Logging.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/BuiltinCAS.cpp.o
[  8%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/ArgList.cpp.o
[  8%] Linking CXX static library ../libLLVMPlugins.a
[  8%] Built target LLVMPlugins
[  8%] Building CXX object lib/LineEditor/CMakeFiles/LLVMLineEditor.dir/LineEditor.cpp.o
[  8%] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFError.cpp.o
---
[  8%] Built target LLVMSupportLSP
[  8%] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
[  8%] Built target LLVMWindowsManifest
[  8%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Option.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/BuiltinUnifiedCASDatabases.cpp.o
[  8%] Building CXX object utils/FileCheck/CMakeFiles/FileCheck.dir/FileCheck.cpp.o
[  8%] Linking CXX static library ../libLLVMLineEditor.a
[  8%] Built target LLVMLineEditor
[  8%] Building C object utils/count/CMakeFiles/count.dir/count.c.o
[  8%] Linking CXX static library ../../libLLVMDebugInfoMSF.a
---
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossExSubsection.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/ObjectStore.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossImpSubsection.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskCAS.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringToOffsetTable.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugFrameDataSubsection.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskCommon.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugInlineeLinesSubsection.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackend.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskDataAllocator.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugLinesSubsection.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackendSkeleton.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskGraphDB.cpp.o
[  8%] Built target not
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGLexer.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugStringTableSubsection.cpp.o
[  8%] Building CXX object utils/llvm-test-mustache-spec/CMakeFiles/llvm-test-mustache-spec.dir/llvm-test-mustache-spec.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskKeyValueDB.cpp.o
[  8%] Built target UnicodeNameMappingGenerator
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGParser.cpp.o
[  8%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGTimer.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsection.cpp.o
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/OnDiskTrieRawHashMap.cpp.o
[  8%] Linking CXX executable ../../bin/llvm-test-mustache-spec
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsectionRecord.cpp.o
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsectionVisitor.cpp.o
[  8%] Linking CXX static library ../libLLVMTableGen.a
[  8%] Building CXX object lib/CAS/CMakeFiles/LLVMCAS.dir/UnifiedOnDiskCache.cpp.o
[  8%] Built target LLVMTableGen
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSymbolRVASubsection.cpp.o
[  8%] Building CXX object utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.o
[  8%] Linking CXX executable ../../bin/llvm-min-tblgen
[  8%] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSymbolsSubsection.cpp.o
---
[ 80%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUExportClustering.cpp.o
[ 80%] Linking CXX static library ../../../libLLVMM68kAsmParser.a
[ 80%] Building CXX object lib/Target/BPF/CMakeFiles/LLVMBPFCodeGen.dir/BPFRegisterInfo.cpp.o
[ 80%] Built target LLVMM68kAsmParser
[ 80%] Building CXX object lib/DTLTO/CMakeFiles/LLVMDTLTO.dir/DTLTO.cpp.o
[ 80%] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86IndirectThunks.cpp.o
[ 80%] Building CXX object lib/ExecutionEngine/Orc/CMakeFiles/LLVMOrcJIT.dir/RTDyldObjectLinkingLayer.cpp.o
[ 80%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CollectLOH.cpp.o
[ 80%] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/MVEVPTBlockPass.cpp.o
[ 80%] Building CXX object lib/ExecutionEngine/Orc/CMakeFiles/LLVMOrcJIT.dir/SectCreate.cpp.o
---
[ 86%] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86PreLegalizerCombiner.cpp.o
[ 86%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVPushPopOptimizer.cpp.o
[ 86%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64Subtarget.cpp.o
[ 87%] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Target.cpp.o
[ 87%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPULowerVGPREncoding.cpp.o
[ 87%] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86RegisterBankInfo.cpp.o
[ 87%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUMCResourceInfo.cpp.o
[ 87%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64TargetMachine.cpp.o
[ 87%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVRedundantCopyElimination.cpp.o
[ 87%] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/UopsBenchmarkRunner.cpp.o
---
[ 87%] Built target LLVMExegesisMips
[ 87%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUPromoteKernelArguments.cpp.o
[ 87%] Linking CXX static library ../../libLLVMAArch64CodeGen.a
[ 87%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPURegBankCombiner.cpp.o
[ 87%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVVSETVLIInfoAnalysis.cpp.o
[ 87%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVZacasABIFix.cpp.o
[ 87%] Built target LLVMAArch64CodeGen
[ 88%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPURegBankLegalize.cpp.o
[ 88%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/RISCVZilsdOptimizer.cpp.o
[ 88%] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVCallLowering.cpp.o
[ 88%] Building CXX object tools/llvm-exegesis/lib/AArch64/CMakeFiles/LLVMExegesisAArch64.dir/Target.cpp.o
[ 88%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPURegBankLegalizeHelper.cpp.o
[ 88%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPURegBankLegalizeRules.cpp.o
[ 88%] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPURegBankSelect.cpp.o
---
[ 93%] Building CXX object tools/llvm-ifs/CMakeFiles/llvm-ifs.dir/llvm-ifs-driver.cpp.o
[ 93%] Built target llvm-debuginfo-analyzer
[ 93%] Built target llvm-dwp
[ 93%] Linking CXX executable ../../bin/llvm-ifs
[ 93%] Building CXX object tools/llvm-ir2vec/CMakeFiles/llvm-ir2vec.dir/llvm-ir2vec.cpp.o
[ 93%] Building CXX object tools/llvm-isel-fuzzer/CMakeFiles/llvm-isel-fuzzer.dir/DummyISelFuzzer.cpp.o
[ 93%] Building CXX object tools/llvm-isel-fuzzer/CMakeFiles/llvm-isel-fuzzer.dir/llvm-isel-fuzzer.cpp.o
[ 93%] Built target llvm-extract
[ 93%] Building CXX object tools/llvm-itanium-demangle-fuzzer/CMakeFiles/llvm-itanium-demangle-fuzzer.dir/DummyDemanglerFuzzer.cpp.o
[ 93%] Built target llvm-cov
---
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/ReduceRegisterUses.cpp.o
[100%] Linking CXX executable ../../bin/llvm-xray
[100%] Built target llvm-pdbutil
[100%] Building CXX object tools/opt/CMakeFiles/LLVMOptDriver.dir/NewPMDriver.cpp.o
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/ReduceSinkDefsToUses.cpp.o
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/ReduceTargetFeaturesAttr.cpp.o
[100%] Linking CXX executable ../../bin/llvm-yaml-parser-fuzzer
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/ReduceUsingSimplifyCFG.cpp.o
[100%] Building CXX object tools/llvm-reduce/CMakeFiles/llvm-reduce.dir/deltas/RunIRPasses.cpp.o
[100%] Built target llvm-yaml-parser-fuzzer
---
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Target/GlobalISel/Combine.td
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Target/GlobalISel/Target.td
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Target/GlobalISel/RegisterBank.td
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DTLTO
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/DTLTO/DTLTO.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Demangle
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Demangle/Demangle.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Demangle/Utility.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Demangle/MicrosoftDemangle.h
---
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/Plugins/PassPlugin.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/WindowsManifest
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/WindowsManifest/WindowsManifestMerger.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/BuiltinObjectHasher.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/CASID.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskTrieRawHashMap.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskDataAllocator.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/MappedFileRegionArena.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/FileOffset.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskGraphDB.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/BuiltinUnifiedCASDatabases.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/ObjectStore.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/ActionCache.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/OnDiskKeyValueDB.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/BuiltinCASContext.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/UnifiedOnDiskCache.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/CAS/CASReference.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/PassRegistry.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/LinkAllIR.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm/PassAnalysisSupport.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm-c/ExternC.h
-- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include/llvm-c/blake3.h
---
[RUSTC-TIMING] rustc_proc_macro test:false 6.114
   Compiling object v0.36.7
[RUSTC-TIMING] rand_core test:false 0.540
   Compiling rand_chacha v0.3.1
error: internal compiler error: /rustc-dev/9b1f8ff42d110b0ca138116745be921df5dc97e7/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs:482:14: debuginfo: unexpected type in type_di_node(): pattern_type!(u32 is 0..=4294967040)


thread 'rustc' (61574) panicked at /rustc-dev/9b1f8ff42d110b0ca138116745be921df5dc97e7/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs:482:14:
Box<dyn Any>
stack backtrace:
   0: std::panicking::begin_panic::<rustc_errors::ExplicitBug>
   1: <rustc_errors::diagnostic::BugAbort as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
   2: rustc_middle::util::bug::opt_span_bug_fmt::<rustc_span::span_encoding::Span>::{closure#0}
   3: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
   4: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_opt<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
   5: rustc_middle::util::bug::bug_fmt
   6: rustc_codegen_llvm::debuginfo::metadata::spanned_type_di_node
   7: rustc_codegen_llvm::debuginfo::metadata::build_struct_type_di_node
   8: rustc_codegen_llvm::debuginfo::metadata::spanned_type_di_node
   9: rustc_codegen_llvm::debuginfo::metadata::build_pointer_or_reference_di_node
  10: rustc_codegen_llvm::debuginfo::metadata::spanned_type_di_node
  11: <rustc_codegen_llvm::context::GenericCx<rustc_codegen_llvm::context::FullCx> as rustc_codegen_ssa::traits::debuginfo::DebugInfoCodegenMethods>::dbg_scope_fn
  12: rustc_codegen_ssa::mir::codegen_mir::<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>>
  13: rustc_codegen_llvm::base::compile_codegen_unit::module_codegen
  14: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit
  15: rustc_codegen_ssa::base::codegen_crate::<rustc_codegen_llvm::LlvmCodegenBackend>
  16: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
  17: <rustc_interface::queries::Linker>::codegen_and_build_linker
  18: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  19: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

note: using internal features is not supported and expected to cause internal compiler errors when used incorrectly

warning: the ICE couldn't be written to `/checkout/rustc-ice-2026-02-18T21_18_55-61567.txt`: Read-only file system (os error 30)

note: rustc 1.94.0-beta.1 (9b1f8ff42 2026-01-19) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type rlib -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 -C debug-assertions=on -C overflow-checks=off -C linker=clang -C symbol-mangling-version=v0 -Z unstable-options -Z macro-backtrace -C split-debuginfo=off -C link-args=-Wl,-z,origin -C link-args=-Wl,-rpath,$ORIGIN/../lib -C linker-features=+lld -C link-self-contained=-linker -Z unstable-options -Z on-broken-pipe=kill -Z default-visibility=protected -C link-args=-Wl,--icf=all -Z binary-dep-depinfo -Z tls-model=initial-exec -Z force-unstable-if-unmarked

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
[RUSTC-TIMING] rustc_data_structures test:false 2.131
error: could not compile `rustc_data_structures` (lib)

Caused by:
  process didn't exit successfully: `sccache /checkout/obj/build/bootstrap/debug/rustc --crate-name rustc_data_structures --edition=2024 compiler/rustc_data_structures/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 -C debug-assertions=on -C overflow-checks=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=10f3b50391127aa3 -C extra-filename=-80c870154202757a --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=clang -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps --extern arrayvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libarrayvec-d6190e28aa097e96.rmeta --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflags-15ef7b03bb4450ef.rmeta --extern either=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libeither-c0ebec80944733f7.rmeta --extern elsa=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libelsa-157660b6d3adea58.rmeta --extern ena=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libena-400969a822bd86c7.rmeta --extern hashbrown=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libhashbrown-68c494cca00134c9.rmeta --extern indexmap=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libindexmap-95d4f5f27f099448.rmeta --extern jobserver_crate=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libjobserver-f1452bc86d9d4024.rmeta --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblibc-fc45d3f0694d8299.rmeta --extern measureme=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libmeasureme-dbe80c743c6784ca.rmeta --extern memmap2=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libmemmap2-a434137ff35b5466.rmeta --extern parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libparking_lot-a370a180016e7643.rmeta --extern rustc_hash=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_hash-34438c06218e8acb.rmeta --extern rustc_stable_hash=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_stable_hash-7a58dc26412cc347.rmeta --extern rustc_arena=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_arena-fd03212626980329.rmeta --extern rustc_graphviz=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_graphviz-163b437f94dfc211.rmeta --extern rustc_hashes=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_hashes-d9561b151a3ca5d2.rmeta --extern rustc_index=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_index-47ab9c16bab24d3d.rmeta --extern rustc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps/librustc_macros-230eca65edf60c7a.so --extern rustc_serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_serialize-fbfc8fecd35db103.rmeta --extern rustc_thread_pool=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_thread_pool-4a0dc2276bca46bf.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsmallvec-86e9f7c23084a1f4.rmeta --extern stacker=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libstacker-89caf9c6073cf805.rmeta --extern tempfile=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libtempfile-35de4b883378682e.rmeta --extern thin_vec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libthin_vec-7e5bfa9bda548462.rmeta --extern tracing=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libtracing-a46c1ec47956bef3.rmeta --cfg=windows_raw_dylib -Csymbol-mangling-version=v0 -Zunstable-options '--check-cfg=cfg(bootstrap)' -Zmacro-backtrace -Csplit-debuginfo=off -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Clinker-features=+lld -Clink-self-contained=-linker -Zunstable-options -Zon-broken-pipe=kill -Zdefault-visibility=protected -Clink-args=-Wl,--icf=all --cfg=bootstrap -Z binary-dep-depinfo -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/psm-1aead79f3927df2a/out` (exit status: 101)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] unicode_normalization test:false 1.077
[RUSTC-TIMING] regex test:false 2.853
[RUSTC-TIMING] serde test:false 1.772
[RUSTC-TIMING] build_script_build test:false 0.142

@JonathanBrouwer
Copy link
Contributor

@bors r-

@rust-bors rust-bors bot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Feb 18, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 18, 2026

Commit e62bc63 has been unapproved.

This PR was contained in a rollup (#152810), which was also unapproved.

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

Labels

perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

Comments