| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Rustup
|
|
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: a09fbe2c8372643a27a8082236120f95ed4e6bba
Filtered ref: e8da14f32630072c76aeb944454175f4d8266918
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to a09fbe2c8372643a27a8082236120f95ed4e6bba.
|
|
Fixes #146249.
|
|
|
|
For https://github.com/rust-lang/rust-clippy/issues/6680
I wanted to move the lint into `functions` because it has a `check_fn`
part, but it also has a `check_stmt`, which I wouldn't know what to do
with.
changelog: none
|
|
|
|
Don't include ASCII characters in Unicode tables
Split off from https://github.com/rust-lang/rust/pull/145219
|
|
Add more features for GenMC mode (RMW, fences, new printing options)
|
|
fix: add `else` keyword completion after `let` statements
|
|
|
|
Improve make::struct_ field_list whitespace
|
|
split overlong sentences
|
|
|
|
|
|
|
|
clarify typo pr guidance
|
|
Rustc pull update
|
|
I can guess what this meant, but decided to just keep it simple
|
|
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: 2f3f27bf79ec147fec9d2e7980605307a74067f4
Filtered ref: 82a5eafbafdb98eae68193600732388ae4135756
Upstream diff: https://github.com/rust-lang/rust/compare/a1dbb443527bd126452875eb5d5860c1d001d761...2f3f27bf79ec147fec9d2e7980605307a74067f4
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to 2f3f27bf79ec147fec9d2e7980605307a74067f4.
|
|
Ignore intrinsic calls in cross-crate-inlining cost model
I noticed in a side project that a function which just compares to `[u64; 2]` for equality is not cross-crate-inlinable. That was surprising to me because I didn't think that code contained a function call, but of course our array comparisons are lowered to an intrinsic. Intrinsic calls don't make a function no longer a leaf, so it makes sense to add this as an exception to the "only leaves" cross-crate-inline heuristic.
This is the useful compare link: https://perf.rust-lang.org/compare.html?start=7cb1a81145a739c4fd858abe3c624ce8e6e5f9cd&end=c3f0a64dbf9fba4722dacf8e39d2fe00069c995e&stat=instructions%3Au because it disables CGU merging in both commits, so effects that cause changes in the sysroot to perturb partitioning downstream are excluded. Perturbations to what is and isn't cross-crate-inlinable in the sysroot has chaotic effects on what items are in which CGUs after merging. It looks like before this PR by sheer luck some of the CGUs dirtied by the patch in eza incr-unchanged happened to be merged together, and with this PR they are not.
The perf runs on this PR point to a nice runtime performance improvement.
|
|
Reimplement DestinationPropagation according to live ranges.
This PR reimplements DestinationPropagation as a problem of merging live-ranges of locals. We merge locals that have disjoint live-ranges. This allows merging several locals in the same round by updating live range information.
Live ranges are mainly computed using the `MaybeLiveLocals` analysis. The subtlety is that we split each statement and terminator in 2 positions. The first position is the regular statement. The second position is a shadow, which is always more live. It encodes partial writes and dead writes as a local being live for half a statement. This half statement ensures that writes conflict with another local's writes and regular liveness.
r? `@Amanieu`
|
|
- Support for atomic fences.
- Support for atomic read-modify-write (RMW).
- Add tests using RMW and fences.
- Add options:
- to disable weak memory effects in GenMC mode.
- to print GenMC execution graphs.
- to print GenMC output message.
- Fix GenMC full rebuild issue and run configure step when commit changes.
- Do cleanup.
Co-authored-by: Ralf Jung <post@ralfj.de>
|
|
That way it doesn't need to be exported.
|
|
Because `rust_infer` is the only crate that uses it.
|
|
Exhaustive match isn't necessary for these trivial cases, and some
similar nearby methods are non-exhaustive.
|
|
Rollup of 4 pull requests
Successful merges:
- rust-lang/rust#146170 (fix: offline rustdoc html missing favicon)
- rust-lang/rust#146209 (Misc LTO cleanups)
- rust-lang/rust#146269 (feat(std): emulate flock for solaris via fcntl)
- rust-lang/rust#146297 (Introduce PlaceContext::may_observe_address.)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
- The empty symbol is no longer a keyword.
- I don't think any of the special reserved identifiers are used for
error recovery.
|
|
Introduce PlaceContext::may_observe_address.
A small utility method to avoid open-coding the logic in several MIR opts.
|
|
feat(std): emulate flock for solaris via fcntl
Upstream Solaris flock emulation to libstd from cargo.
This is borrowed from
https://github.com/rust-lang/cargo/blob/3b379fcc541b39321a7758552d37e5e0cc4277b9/src/cargo/util/flock.rs#L502-L536 which was implemented by an Oracle employee.
The code has been in cargo since 2022-12.
Python's `fcntl.flock` emulates like this as well: https://github.com/python/cpython/blob/c919d02edecfe9d75fe374756fb8aa1db8d95f55/Modules/fcntlmodule.c#L337-L400
We did the same thing in
https://github.com/rust-lang/rust/blob/0d0f4eac8b98133e5da6d3604d86a8f3b5a67844/compiler/rustc_data_structures/src/flock/unix.rs#L13-L39
However, should we just always falls back to fcntl for all Unix, instead of "unsupported"?
try-job: `*-solaris`
|
|
Misc LTO cleanups
Follow up to https://github.com/rust-lang/rust/pull/145955.
* Remove want_summary argument from `prepare_thin`.
Since https://github.com/rust-lang/rust/pull/133250 ThinLTO summary writing is instead done by `llvm_optimize`.
* Two minor cleanups
|
|
fix: offline rustdoc html missing favicon
As discussed in the rust-lang/rust#146149 the doc was missing the favicon icon when build locally and viewed on a browser. I changed the relative path and also now we explicitly copy both SVG and PNG.
<img width="1132" height="425" alt="Screenshot 2025-09-03 at 11 57 46 PM" src="https://github.com/user-attachments/assets/062cbb08-04ec-4d88-a43a-710fb6190f82" />
|
|
|
|
Add amdgpu test for addrspacecasting global vars and the gpu-kernel calling convention
Add two tests that can now be added, as the amdgpu is merged.
- Global variables are casted to the default address space since rust-lang/rust#135026
- gpu-kernel calling convention, translatos to amdgpu_kernel rust-lang/rust#135047
Tracking issue: rust-lang/rust#135024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This kind of supersedes
https://github.com/rust-lang/rust-clippy/pull/15386 -- by making the
lint early-pass, we get access to `TyKind::Paren`s that surround the
type ascription. And with that, we can return to the simpler calculation
of `span_to_remove`.
The biggest hurdle was `is_from_proc_macro` -- calling that function
required me to `impl WithSearchPat for rustc_ast::Ty`, i.e.
`ast_ty_search_pat`, which I based on `ty_search_pat`. Since that's a
larger change, I could extract it into a PR of its own.
changelog: none
|