Commit Graph

2772 Commits

Author SHA1 Message Date
Jacob Pratt 6dd224578c
Rollup merge of #135386 - lolbinarycat:bootstrap-test-cleanup, r=jieyouxu
clean up code related to the rustdoc-js test suite

r? `@jieyouxu`
2025-01-13 01:05:11 -05:00
Jacob Pratt 5ff1029e53
Rollup merge of #135355 - ranger-ross:improved-ci-logs, r=onur-ozkan
ci: added test log format for ci

This PR adds a new test render format specifically for ci.
The goal as stated in #134910 is to make reviewing test failures in CI easier.

See the new test output format in the CI for this PR ([here](https://github.com/rust-lang/rust/actions/runs/12723914643/job/35469515397?pr=135355))

closes #134910 cc: `@jyn514`
2025-01-13 01:05:10 -05:00
许杰友 Jieyou Xu (Joe) a58b85a26c rustc-dev-guide: document `BOOTSTRAP_TRACING` and bootstrap `tracing` setup 2025-01-13 13:46:20 +08:00
bors 3a3512d1b0 Auto merge of #135352 - notriddle:notriddle/stability-shown, r=camelid
rustdoc: use import stability marker in display

Fixes #135078
2025-01-13 04:49:27 +00:00
bors 4d4084cd86 Auto merge of #135371 - Mark-Simulacrum:no-alloc-case-cmp, r=compiler-errors
Remove allocations from case-insensitive comparison to keywords

Follows up on work in 99d02fb40fd339255ed08596ebeb41e9b8a09d45, expanding the alloc-free comparisons to more cases of case-insensitive keyword matching.

r? ghost for perf
2025-01-13 02:00:41 +00:00
bors 84410f28b3 Auto merge of #135384 - saethlin:inline-copy-from-slice, r=joboet
Add #[inline] to copy_from_slice

I'm doing cooked things to CGU partitioning for compiler-builtins (https://github.com/rust-lang/rust/pull/135395) and this was the lone symbol in my compiler-builtins rlib that wasn't an intrinsic. Adding `#[inline]` makes it go away.

Perf report indicates a marginal but chaotic effect on compile time, marginal improvement in codegen. As expected.
2025-01-12 20:16:25 +00:00
bors d86805f164 Auto merge of #135281 - onur-ozkan:build-stamps, r=jieyouxu
centralize build stamp logic

This PR brings all the stamp file handling into one place inside `build_stamp` module, which takes care of everything related to build stamps. By doing this, we cut down on duplicated code and types and keep the codebase easier to maintain and more consistent.

Main goals are:

- Make stamp handling stricter so we don't have to pass `Path`s around and manually `join` on arbitrary directories
- Keep all stamp-related logic in one place
- Make it easier to test and debug
- Avoid duplication
- Keep things simple and well-documented

Resolves #134962
2025-01-12 17:28:00 +00:00
onur-ozkan eecd68cf55 rustc-dev-guide: update outdated LLVM stamp filename
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-12 08:47:57 +03:00
Jakub Beránek 4c02798cb4 Add CI workflow for performing rustc-pull 2025-01-11 17:50:07 +01:00
bors 9ccfdd14a0 Auto merge of #135292 - lqd:rustcperfup, r=kobzol
bump `rustc-perf` submodule

This updates the `rustc-perf` submodule to pull in the recent changes, in particular the error handling in https://github.com/rust-lang/rustc-perf/pull/2021 fixing the error we saw in a recent run.

I think I did this correctly, submodules are so annoying.

r? kobzol

(opening as draft to do a perf run and check that nothing has changed indeed)
2025-01-11 11:54:26 +00:00
bors 1e743f3399 Auto merge of #135274 - saethlin:array-repeats, r=compiler-errors
Add an InstSimplify for repetitive array expressions

I noticed in https://github.com/rust-lang/rust/pull/135068#issuecomment-2569955426 that GVN's implementation of this same transform was quite profitable on the deep-vector benchmark. But of course GVN doesn't run in unoptimized builds, so this is my attempt to write a version of this transform that benefits the deep-vector case and is fast enough to run in InstSimplify.

The benchmark suite indicates that this is effective.
2025-01-11 06:33:55 +00:00
许杰友 Jieyou Xu (Joe) aca4d07e08
Merge pull request #2205 from ehuss/ci-config 2025-01-11 00:34:43 +08:00
许杰友 Jieyou Xu (Joe) dee312db6c
Merge pull request #2206 from ehuss/fix-matrix-link 2025-01-11 00:32:01 +08:00
Eric Huss cd9705f029 Fix calculate-job-matrix.py link 2025-01-10 08:26:52 -08:00
Eric Huss 42768820fe Document how to find the configuration used in CI
This documents how to determine which settings are used in CI, since I
see this question come up regularly. We currently don't have a great way
to answer the question, but at least there is something.
2025-01-10 08:16:37 -08:00
bors 4005278b7d Auto merge of #135273 - dianne:argument-patterns-are-not-boring, r=lqd
Remove special-casing for argument patterns in MIR typeck (attempt to fix perf regression of  #133858)

See [my comment](https://github.com/rust-lang/rust/pull/133858#issuecomment-2579029618) on #133858 for more information. This is just a guess as to what went wrong, and I haven't been able to get the profiler running locally, so I'll need a perf run to make sure this actually helps.

There's one test's stderr that suffers a bit, but this was just papering over the issue anyway. Making region errors point to the correct constraints in the presence of invariance/contravariance is a broader problem; the current way it's handled is mostly based on guesswork, luck, and hoping it works out. Properly handling that (somehow) would improve the test's stderr without the hack that this PR reverts.
2025-01-10 08:53:21 +00:00
bors 98c8461a6b Auto merge of #135297 - flip1995:clippy-subtree-update, r=matthiaskrgr
Clippy subtree update

r? `@Manishearth`
2025-01-10 03:10:28 +00:00
Jakub Beránek d54ac947bf
Merge pull request #2203 from camelid/ci-fix
ci: Remove incorrect use of `continue-on-error`
2025-01-09 22:38:27 +01:00
Noah Lev bb0051a006 ci: Remove incorrect use of `continue-on-error`
This will cause the CI build to be marked successful even if the build
failed. Instead, use `if: '!cancelled()'` to always save the cache
(except when the job is cancelled), even if the linkcheck failed.

See https://stackoverflow.com/a/58859404 for more.
2025-01-09 13:37:03 -08:00
Noah Lev 610e80b95c
Merge pull request #2030 from marxin/ci-cache
Save linkcheck cache always
2025-01-09 13:19:21 -08:00
bors 019834560d Auto merge of #135286 - matthiaskrgr:rollup-sxuq1nh, r=matthiaskrgr
Rollup of 3 pull requests

Successful merges:

 - #134898 (Make it easier to run CI jobs locally)
 - #135195 (Make `lit_to_mir_constant` and `lit_to_const` infallible)
 - #135261 (Account for identity substituted items in symbol mangling)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-09 16:18:57 +00:00
Matthias Krüger 68fc700f35
Rollup merge of #135261 - compiler-errors:coverage-has-identity-substs, r=oli-obk
Account for identity substituted items in symbol mangling

See the inline comment.

r? oli-obk

Fixes #135235
2025-01-09 14:34:47 +01:00
Matthias Krüger d35f2db39a
Rollup merge of #135195 - oli-obk:push-toyoyrupruko, r=lcnr
Make `lit_to_mir_constant` and `lit_to_const` infallible

My motivation for this change is just that it's annoying to check everywhere, especially since all but one call site was just ICEing on errors anyway right there.

They can still fail, but now just return an error constant instead of having the caller handle the error.

fixes #114317
fixes #126182
2025-01-09 14:34:41 +01:00
Matthias Krüger 68734d1df8
Rollup merge of #134898 - Kobzol:ci-python-script, r=MarcoIeni
Make it easier to run CI jobs locally

This PR extends the Python CI script to perform a poor man's CI-like execution of a given CI job locally. It's not perfect, but it's better than nothing.

r? `@jieyouxu`
2025-01-09 14:34:35 +01:00
Jakub Beránek 482ebfbbae Error if there is nothing to pull 2025-01-08 17:52:01 +01:00
Jakub Beránek c92957d38a Print an explicit message if the base repo head commit is up-to-date 2025-01-08 17:52:01 +01:00
Martin Liska 10c76e1bfc Update key 2025-01-08 17:07:08 +01:00
Martin Liska 57d1e6b068 Save linkcheck cache always 2025-01-08 17:05:11 +01:00
Jakub Beránek 7d59cb33f6
Merge pull request #2200 from Kobzol/rustc-pull
Rustc pull
2025-01-08 13:47:34 +01:00
Jakub Beránek a04d719b49
Merge from rustc 2025-01-08 13:40:53 +01:00
Jakub Beránek 55ac466fd7
Preparing for merge from rustc 2025-01-08 13:40:40 +01:00
Ralf Jung 4498820468
Merge pull request #4127 from rust-lang/rustup-2025-01-08
Automatic Rustup
2025-01-08 08:52:24 +00:00
Ralf Jung 1760a3d8a4 Merge from rustc 2025-01-08 09:23:40 +01:00
Jakub Beránek 280d73878a Update rustc-dev-guide 2025-01-07 19:10:03 +01:00
Max Heller 0fd52366ca
Fix broken raw HTML (#2198) 2025-01-07 16:00:59 +08:00
许杰友 Jieyou Xu (Joe) 32835d18d8 Only keep label description in Forge docs 2025-01-06 18:59:36 +02:00
bors 1e3e23878b Auto merge of #135112 - tgross35:combine-select-unpredictable-test, r=the8472
Merge the intrinsic and user tests for `select_unpredictable`

[1] mentions that having a single test with `-Zmerge-functions=disabled` is preferable to having two separate tests.  Apply that to the new `select_unpredictable` test here.

[1]: https://github.com/rust-lang/rust/pull/133964#issuecomment-2569693325
2025-01-06 10:52:07 +00:00
Jakub Beránek 1dad69ebd4
Add rustc-dev-guide to the list of repositories managed by josh (#2197) 2025-01-06 18:30:59 +08:00
bors c1e98fc7e5 Auto merge of #135085 - knickish:m68k_unknown_none, r=workingjubilee
add m68k-unknown-none-elf target

r? `@workingjubilee`

The existing `m68k-unknown-linux-gnu` target builds `std` by default, requires atomics, and has a base cpu with an fpu. A smaller/more embedded target is desirable both to have a baseline target for the ISA, as well to make debugging easier for working on the llvm backend. Currently this target is using the `M68010` as the minimum CPU due, but as missing features are merged into the `M68k` llvm backend I am hoping to lower this further.

I have been able to build very small crates using a toolchain built against this target (together with a later version of `object`) using the configuration described in the target platform-support documentation, although getting anything of substantial complexity to build quickly hits errors in the llvm backend
2025-01-06 05:23:55 +00:00
bors 86428b4a82 Auto merge of #135127 - Kobzol:rustc-dev-guide-sync, r=BoxyUwU
rustc-dev-guide subtree update

This PR performs the first update of rustc-dev-guide code from its repository.

r? `@BoxyUwU`
2025-01-05 19:35:30 +00:00
Boxy 42160c343a
add josh-sync build dir to gitignore (#2196) 2025-01-06 02:57:03 +08:00
Jakub Beránek a74bcb71f1 Preparing for merge from rustc 2025-01-05 18:15:01 +01:00
Jakub Beránek 4bbbd5802d Preparing for merge from rustc 2025-01-05 18:12:52 +01:00
Boxy 885fd79971 Split stuff out of representing types, and rewrite early/late bound chapter (#2192) 2025-01-05 17:51:45 +01:00
Stuart Cook bb71c99918 Describe how to use rust-analyzer with `rmake.rs` (#2191) 2025-01-05 17:51:45 +01:00
Tshepang Mbambo 027bbb345c fix comment 2025-01-05 17:51:45 +01:00
Tshepang Mbambo b3b1d09278 make paragraph more readable 2025-01-05 17:51:45 +01:00
Tshepang Mbambo 7dbf25b2f8 repetition not needed 2025-01-05 17:51:45 +01:00
Jakub Beránek eb70681870 Document josh subtrees and update subtree repository list (#2182) 2025-01-05 17:51:45 +01:00
Jakub Beránek 4a73ebae45 Add tooling for performing Josh synces (#2183) 2025-01-05 17:51:45 +01:00