Skip to content

Update to LLVM 18#120055

Merged
bors merged 8 commits intorust-lang:masterfrom
nikic:llvm-18
Feb 13, 2024
Merged

Update to LLVM 18#120055
bors merged 8 commits intorust-lang:masterfrom
nikic:llvm-18

Conversation

@nikic
Copy link
Contributor

@nikic nikic commented Jan 17, 2024

LLVM 18 final is planned to be released on Mar 5th. Rust 1.78 is planned to be released on May 2nd.

Tested images: dist-x86_64-linux, dist-s390x-linux, dist-aarch64-linux, dist-riscv64-linux, dist-loongarch64-linux, dist-x86_64-freebsd, dist-x86_64-illumos, dist-x86_64-musl, x86_64-linux-integration, test-various, armhf-gnu, i686-msvc, x86_64-msvc, i686-mingw, x86_64-mingw, x86_64-apple-1, x86_64-apple-2, dist-aarch64-apple

r? @ghost

@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 Jan 17, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jan 17, 2024

These commits modify compiler targets.
(See the Target Tier Policy.)

@nikic nikic added relnotes Marks issues that should be documented in the release notes of the next release. S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 17, 2024
@rust-log-analyzer

This comment has been minimized.

@nikic
Copy link
Contributor Author

nikic commented Jan 17, 2024

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 17, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 17, 2024
@bors
Copy link
Collaborator

bors commented Jan 17, 2024

⌛ Trying commit 0cd0ca9 with merge b10e375...

@bors
Copy link
Collaborator

bors commented Jan 17, 2024

☀️ Try build successful - checks-actions
Build commit: b10e375 (b10e3758cdf73aa9155f6b955843731a66488b9c)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b10e375): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

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

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.3% [0.2%, 3.5%] 5
Improvements ✅
(primary)
-2.5% [-14.2%, -0.3%] 230
Improvements ✅
(secondary)
-1.5% [-8.1%, -0.2%] 143
All ❌✅ (primary) -2.5% [-14.2%, -0.3%] 230

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.7% [0.6%, 3.5%] 10
Regressions ❌
(secondary)
3.5% [0.8%, 11.7%] 23
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.0% [-3.7%, -2.0%] 3
All ❌✅ (primary) 1.7% [0.6%, 3.5%] 10

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.2% [0.8%, 3.7%] 2
Improvements ✅
(primary)
-4.8% [-11.6%, -1.0%] 58
Improvements ✅
(secondary)
-3.8% [-6.7%, -1.4%] 24
All ❌✅ (primary) -4.8% [-11.6%, -1.0%] 58

Binary size

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.7% [0.4%, 1.7%] 27
Regressions ❌
(secondary)
1.4% [0.7%, 16.0%] 42
Improvements ✅
(primary)
-0.8% [-1.5%, -0.4%] 20
Improvements ✅
(secondary)
-0.7% [-1.4%, -0.5%] 38
All ❌✅ (primary) 0.0% [-1.5%, 1.7%] 47

Bootstrap: 665.924s -> 629.581s (-5.46%)
Artifact size: 308.39 MiB -> 304.84 MiB (-1.15%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jan 17, 2024
@Kobzol
Copy link
Member

Kobzol commented Jan 18, 2024

Regarding runtime benchmarks, looks like some improvements were made to hashbrown's bitmask:

cargo run --bin collector profile_runtime cachegrind +52790a98e568f2e4f37b041ce353c660f5fb073d --rustc2 +b10e3758cdf73aa9155f6b955843731a66488b9c hashmap_find_misses_1m --group hashmap

> -9,175,044  benchlib::benchmark::BenchmarkGroup::register_benchmark::{{closure}}:
  -5,516,128    /home/ber0134/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.13.2/src/raw/mod.rs
  -5,505,024    /home/ber0134/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.13.2/src/raw/bitmask.rs
   1,835,009    library/core/src/iter/range.rs
  -1,835,008    library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs
   1,835,007    /home/ber0134/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.13.2/src/map.rs
      11,104    library/core/src/ptr/mut_ptr.rs

I tried finding codegen differences using cargo run --bin collector codegen_diff asm hashmap +52790a98e568f2e4f37b041ce353c660f5fb073d +b10e3758cdf73aa9155f6b955843731a66488b9c > assembly.txt, but I didn't find anything obviously better.

@mvelbaum
Copy link

This may be a bit offtopic, but @nikic -- any chance https://reviews.llvm.org/D159075 gets into LLVM18? It's the last patch in the series and shame to see it get lost :(.

@nikic
Copy link
Contributor Author

nikic commented Jan 22, 2024

dist-390x-linux fails with:

  running: "sccache" "s390x-ibm-linux-gnu-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-ffunction-sections" "-fdata-sections" "-fPIC" "-fno-builtin" "-fvisibility=hidden" "-ffreestanding" "-fomit-frame-pointer" "-ffile-prefix-map=/checkout/src/llvm-project/compiler-rt=." "-DVISIBILITY_HIDDEN" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/s390x-unknown-linux-gnu/release/build/compiler_builtins-acd098fd76de8b8d/out/45c91108d938afe8-divxc3.o" "-c" "/checkout/src/llvm-project/compiler-rt/lib/builtins/divxc3.c"
  cargo:warning=/checkout/src/llvm-project/compiler-rt/lib/builtins/divxc3.c:20:35: error: unknown type name 'xf_float'; did you mean 'tf_float'?
  cargo:warning= COMPILER_RT_ABI Lcomplex __divxc3(xf_float __a, xf_float __b, xf_float __c,
  cargo:warning=                                   ^~~~~~~~
  cargo:warning=                                   tf_float
  cargo:warning=/checkout/src/llvm-project/compiler-rt/lib/builtins/divxc3.c:20:49: error: unknown type name 'xf_float'; did you mean 'tf_float'?
  cargo:warning= COMPILER_RT_ABI Lcomplex __divxc3(xf_float __a, xf_float __b, xf_float __c,
  cargo:warning=                                                 ^~~~~~~~
  cargo:warning=                                                 tf_float
  cargo:warning=/checkout/src/llvm-project/compiler-rt/lib/builtins/divxc3.c:20:63: error: unknown type name 'xf_float'; did you mean 'tf_float'?
  cargo:warning= COMPILER_RT_ABI Lcomplex __divxc3(xf_float __a, xf_float __b, xf_float __c,
  cargo:warning=                                                               ^~~~~~~~
  cargo:warning=                                                               tf_float
  cargo:warning=/checkout/src/llvm-project/compiler-rt/lib/builtins/divxc3.c:21:35: error: unknown type name 'xf_float'; did you mean 'tf_float'?
  cargo:warning=                                   xf_float __d) {
  cargo:warning=                                   ^~~~~~~~
  cargo:warning=                                   tf_float

@nikic
Copy link
Contributor Author

nikic commented Jan 22, 2024

This looks like an issue in the compiler-builtins build script, which unconditionally adds files for 80-bit long double builtins in https://github.com/rust-lang/compiler-builtins/blob/ab849edf5c9e66ad2c9194f83b023847bd6dbe6d/build.rs#L289 We should only be doing that on x86 -- or maybe not at all? Does rust even support 80-bit floats?

@nikic
Copy link
Contributor Author

nikic commented Jan 22, 2024

Submitted rust-lang/compiler-builtins#568 to fix this.

@nikic
Copy link
Contributor Author

nikic commented Jan 22, 2024

rust-lang/compiler-builtins#564 is also needed for aarch64.

@nikic
Copy link
Contributor Author

nikic commented Jan 23, 2024

The codegen test update is now part of #120265.

@nikic
Copy link
Contributor Author

nikic commented Jan 23, 2024

test-various fails wasm32-unknown-unknown run-make with failures like these:

---- [run-make] tests/run-make/wasm-stringify-ints-small stdout ----

error: make failed
status: exit status: 2
command: cd "/checkout/tests/run-make/wasm-stringify-ints-small" && env -u CARGO_MAKEFLAGS -u MAKEFLAGS -u MFLAGS -u RUSTFLAGS AR="ar" CC="clang -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown" CXX="clang -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown" HOST_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" LD_LIB_PATH_ENVVAR="LD_LIBRARY_PATH" LLVM_BIN_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin" LLVM_COMPONENTS="aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen codegentypes core coroutines coverage csky cskyasmparser cskycodegen cskydesc cskydisassembler cskyinfo debuginfobtf debuginfocodeview debuginfodwarf debuginfogsym debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker dwarflinkerclassic dwarflinkerparallel dwp engine executionengine extensions filecheck frontenddriver frontendhlsl frontendoffloading frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo hipstdpar instcombine instrumentation interfacestub interpreter ipo irprinter irreader jitlink libdriver lineeditor linker loongarch loongarchasmparser loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml option orcdebugging orcjit orcshared orctargetprocess passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target targetparser textapi textapibinaryreader transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray" LLVM_FILECHECK="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" NODE="/node-v18.12.0-linux-x64/bin/node" PYTHON="/usr/bin/python3" RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUSTDOC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" RUST_BUILD_STAGE="stage2-wasm32-unknown-unknown" S="/checkout" TARGET="wasm32-unknown-unknown" TARGET_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib" TMPDIR="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small" "make"
--- stdout -------------------------------
LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib" '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc' --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small -L /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small  -Ainternal_features foo.rs -C lto -O --target wasm32-unknown-unknown
------------------------------------------
--- stderr -------------------------------
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/checkout/obj/build/x86_64-unknown-linux-gnu/lld/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "rust-lld" "-flavor" "wasm" "--rsp-quoting=posix" "--export" "foo" "--export=__heap_base" "--export=__data_end" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--fatal-warnings" "--no-demangle" "--no-entry" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small/foo.foo.5be5606e1f6aa79b-cgu.0.rcgu.o" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-9a7cc444abeb8283.rlib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib/self-contained" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/wasm-stringify-ints-small/wasm-stringify-ints-small/foo.wasm" "--gc-sections" "--no-entry" "-O2"
  = note: rust-lld: error: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-9a7cc444abeb8283.rlib: archive member 'lib.rmeta' is neither Wasm object file nor LLVM bitcode
          

error: aborting due to 1 previous error

make: *** [Makefile:5: all] Error 1
------------------------------------------



failures:
    [run-make] tests/run-make/issue-83112-incr-test-moved-file
    [run-make] tests/run-make/incr-prev-body-beyond-eof
    [run-make] tests/run-make/issue-85019-moved-src-dir
    [run-make] tests/run-make/wasm-abi
    [run-make] tests/run-make/wasm-custom-sections-opt
    [run-make] tests/run-make/wasm-exceptions-nostd
    [run-make] tests/run-make/wasm-symbols-different-module
    [run-make] tests/run-make/wasm-export-all-symbols
    [run-make] tests/run-make/wasm-symbols-not-imported
    [run-make] tests/run-make/wasm-spurious-import
    [run-make] tests/run-make/wasm-symbols-not-exported
    [run-make] tests/run-make/wasm-custom-section
    [run-make] tests/run-make/wasm-panic-small
    [run-make] tests/run-make/wasm-import-module
    [run-make] tests/run-make/wasm-stringify-ints-small

Key part:

  = note: rust-lld: error: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-9a7cc444abeb8283.rlib: archive member 'lib.rmeta' is neither Wasm object file nor LLVM bitcode

@nikic
Copy link
Contributor Author

nikic commented Jan 23, 2024

The wasm issue was introduced by llvm/llvm-project#78658.

@rustbot rustbot added the T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) label Jan 23, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jan 23, 2024

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Feb 13, 2024
@bors
Copy link
Collaborator

bors commented Feb 13, 2024

⌛ Testing commit a6ee72d with merge eaff1af...

@bors
Copy link
Collaborator

bors commented Feb 13, 2024

☀️ Test successful - checks-actions
Approved by: cuviper
Pushing eaff1af to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Feb 13, 2024
@bors bors merged commit eaff1af into rust-lang:master Feb 13, 2024
@rustbot rustbot added this to the 1.78.0 milestone Feb 13, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (eaff1af): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.1% [0.7%, 3.5%] 7
Improvements ✅
(primary)
-2.4% [-14.1%, -0.5%] 233
Improvements ✅
(secondary)
-1.6% [-8.0%, -0.3%] 160
All ❌✅ (primary) -2.4% [-14.1%, -0.5%] 233

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

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

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.7% [2.1%, 4.2%] 6
Improvements ✅
(primary)
-3.7% [-11.4%, -1.0%] 77
Improvements ✅
(secondary)
-3.8% [-6.9%, -2.1%] 21
All ❌✅ (primary) -3.7% [-11.4%, -1.0%] 77

Binary size

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.5% [0.1%, 1.4%] 17
Regressions ❌
(secondary)
2.7% [0.1%, 16.0%] 13
Improvements ✅
(primary)
-0.6% [-1.7%, -0.0%] 34
Improvements ✅
(secondary)
-0.6% [-1.5%, -0.2%] 70
All ❌✅ (primary) -0.2% [-1.7%, 1.4%] 51

Bootstrap: 664.861s -> 631.785s (-4.97%)
Artifact size: 308.35 MiB -> 305.10 MiB (-1.05%)

@Kobzol
Copy link
Member

Kobzol commented Feb 13, 2024

Definitely more wins than losses :)

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Feb 13, 2024
dtolnay added a commit to dtolnay/clang-ast that referenced this pull request Feb 14, 2024
This bisects to rust-lang/rust#120055.

    Running tests/exhaustive.rs (target/release/deps/exhaustive-e2f6c3a78f65e6a2)

    running 1 test

    thread 'test' has overflowed its stack
    fatal runtime error: stack overflow
    error: test failed, to rerun pass `--test exhaustive`

    Caused by:
      process didn't exit successfully: `target/release/deps/exhaustive-e2f6c3a78f65e6a2` (signal: 6, SIGABRT: process abort signal)
bors added a commit to rust-lang/cargo that referenced this pull request Feb 15, 2024
Update tests for changes in latest nightly

There were two changes that has caused nightly tests to start failing:
* LLVM was updated, and that caused a change in the expected data layout for the target. (rust-lang/rust#120055 update to LLVM 18)
* rust-lang/rust#121049 Do not point at `#[allow(_)]` as the reason for compat lint triggering. The test was looking for the `unused_variables` note, which is no longer printed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.