Skip to content

Conversation

@bjorn3
Copy link
Member

@bjorn3 bjorn3 commented Dec 18, 2025

Nothing too exciting since the last sync.

r? @ghost

@rustbot label +A-codegen +A-cranelift +T-compiler

bjorn3 and others added 27 commits November 28, 2025 19:30
There are major questions remaining about the reentrancy that this
allows. It doesn't have any users on github outside of a single project
that uses it in a panic=abort project to show backtraces. It
can still be emulated through #[alloc_error_handler] or
set_alloc_error_hook depending on if you use the standard library or
not. And finally it makes it harder to do various improvements to the
allocator shim.
…o filtering

Reading the manifest doesn't work when running in the context of the
rust build system.
Using a defaulted `CodegenBackend` method that querying for zstd support should
automatically print a safe value of `false` on any backend that doesn't
specifically indicate the presence or absence of zstd.
Remove -Zoom=panic

There are major questions remaining about the reentrancy that this allows. It doesn't have any users on github outside of a single project that uses it in a panic=abort project to show backtraces. It can still be emulated through `#[alloc_error_handler]` or `set_alloc_error_hook` depending on if you use the standard library or not. And finally it makes it harder to do various improvements to the allocator shim.

With this PR the sole remaining symbol in the allocator shim that is not effectively emulating weak symbols is the symbol that prevents skipping the allocator shim on stable even when it would otherwise be empty because libstd + `#[global_allocator]` is used.

Closes rust-lang#43596
Fixes rust-lang#126683
Make `--print=backend-has-zstd` work by default on any backend

Using a defaulted `CodegenBackend` method that querying for zstd support should automatically print a safe value of `false` on any backend that doesn't specifically indicate the presence or absence of zstd.

This should fix the compiletest failures reported in rust-lang#149666 (comment), which can occur when LLVM is not the default codegen backend.
…elmann

Remove uses of `cfg({any()/all()})`

~~This implements the followup warning suggested in rust-lang/rfcs#3695
~~Lint against an empty `cfg(any/all)`, suggest the boolean literal equivalents.~~
rust-lang#149791 (comment)

Tracking issue: rust-lang#131204
Remove `[no-mentions]` handler in the triagebot config
Overhaul filename handling for cross-compiler consistency

This PR overhauls the way we handle filenames in the compiler and `rmeta` in order to achieve achieve cross-compiler consistency (ie. having the same path no matter if the filename was created in the current compiler session or is coming from `rmeta`).

This is required as some parts of the compiler rely on consistent paths for the soundness of generated code (see rust-lang#148328).

In order to achieved consistency multiple steps are being taken by this PR:
 - by making `RealFileName` immutable
 - by only having `SourceMap::to_real_filename` create `RealFileName`
   - currently `RealFileName` can be created from any `Path` and are remapped afterwards, which creates consistency issue
 - by also making `RealFileName` holds it's working directory, embeddable name and the remapped scopes
   - this removes the need for a `Session`, to know the current(!) scopes and cwd, which is invalid as they may not be equal to the scopes used when creating the filename

In order for `SourceMap::to_real_filename` to know which scopes to apply `FilePathMapping` now takes the current remapping scopes to apply, which makes `FileNameDisplayPreference` and company useless and are removed.

This PR is split-up in multiple commits (unfortunately not atomic), but should help review the changes.

Unblocks rust-lang#147611
Fixes rust-lang#148328
* Add `llvm.x86.vcvtps2ph.128`

* `cargo fmt`

* Test `_mm_cvtps_ph`
…m, r=jdonszelmann

Simplify how inline asm handles `MaybeUninit`

This is just better, but this is also allows it to handle changes from rust-lang#149614 (i.e. `ManuallyDrop` containing `MaybeDangle`).
Rustfmt used to be optional for nightlies long ago, but it is now
always present. Also rename rust-toolchain to rust-toolchain.toml.
@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. A-codegen Area: Code generation labels Dec 18, 2025
@rustbot rustbot added the A-cranelift Things relevant to the [future] cranelift backend label Dec 18, 2025
@rustbot
Copy link
Collaborator

rustbot commented Dec 18, 2025

⚠️ Warning ⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

  • The following commits have merge commits (commits with multiple parents) in your changes. We have a no merge policy so these commits will need to be removed for this pull request to be merged.

    You can start a rebase with the following commands:

    $ # rebase
    $ git pull --rebase https://github.com/rust-lang/rust.git main
    $ git push --force-with-lease
    

@rustbot rustbot added has-merge-commits PR has merge commits, merge with caution. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 18, 2025
@bjorn3
Copy link
Member Author

bjorn3 commented Dec 18, 2025

@bors r+ p=1 subtree sync

@bors
Copy link
Collaborator

bors commented Dec 18, 2025

📌 Commit c594c39 has been approved by bjorn3

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Dec 18, 2025

🌲 The tree is currently closed for pull requests below priority 1000. This pull request will be tested once the tree is reopened.

@bors bors 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. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 18, 2025
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#1 ERROR: Error response from daemon: Head "https://ghcr.io/v2/rust-lang/buildkit/manifests/buildx-stable-1": dial tcp 140.82.116.33:443: i/o timeout
------
 > [internal] booting buildkit:
------
ERROR: failed to build: Error response from daemon: Head "https://ghcr.io/v2/rust-lang/buildkit/manifests/buildx-stable-1": dial tcp 140.82.116.33:443: i/o timeout
Command failed. Attempt 2/5:
#0 building with "sleepy_williams" instance using docker-container driver

#1 [internal] booting buildkit
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1 30.3s done
#1 ERROR: Error response from daemon: Head "https://ghcr.io/v2/rust-lang/buildkit/manifests/buildx-stable-1": dial tcp 140.82.116.33:443: i/o timeout
------
 > [internal] booting buildkit:
------
ERROR: failed to build: Error response from daemon: Head "https://ghcr.io/v2/rust-lang/buildkit/manifests/buildx-stable-1": dial tcp 140.82.116.33:443: i/o timeout
Command failed. Attempt 3/5:
#0 building with "sleepy_williams" instance using docker-container driver

#1 [internal] booting buildkit
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1 31.1s done
#1 ERROR: Error response from daemon: Head "https://ghcr.io/v2/rust-lang/buildkit/manifests/buildx-stable-1": dial tcp 140.82.116.33:443: i/o timeout
------
 > [internal] booting buildkit:
------
ERROR: failed to build: Error response from daemon: Head "https://ghcr.io/v2/rust-lang/buildkit/manifests/buildx-stable-1": dial tcp 140.82.116.33:443: i/o timeout
Command failed. Attempt 4/5:
#0 building with "sleepy_williams" instance using docker-container driver

#1 [internal] booting buildkit
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1
---

#1 [internal] booting buildkit
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1
#1 pulling image ghcr.io/rust-lang/buildkit:buildx-stable-1 30.5s done
#1 ERROR: Error response from daemon: Get "https://ghcr.io/v2/rust-lang/buildkit/manifests/sha256:de10faf919fc71ba4eb1dd7bd6449566d012b0c9436b1c61bfee21d621b009aa": dial tcp 140.82.116.34:443: i/o timeout
------
 > [internal] booting buildkit:
------
ERROR: failed to build: Error response from daemon: Get "https://ghcr.io/v2/rust-lang/buildkit/manifests/sha256:de10faf919fc71ba4eb1dd7bd6449566d012b0c9436b1c61bfee21d621b009aa": dial tcp 140.82.116.34:443: i/o timeout
The command has failed after 5 attempts.
##[error]Process completed with exit code 1.
##[group]Run echo "disk usage:"
echo "disk usage:"
df -h

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Dec 18, 2025
…bjorn3

Subtree sync for rustc_codegen_cranelift

Nothing too exciting since the last sync.

r? `@ghost`

`@rustbot` label +A-codegen +A-cranelift +T-compiler
bors added a commit that referenced this pull request Dec 18, 2025
…uwer

Rollup of 11 pull requests

Successful merges:

 - #145933 (Expand `str_as_str` to more types)
 - #148849 (Set -Cpanic=abort in windows-msvc stack protector tests)
 - #149925 (`cfg_select!`: parse unused branches)
 - #150022 (Generate macro expansion for rust compiler crates docs)
 - #150024 (Support recursive delegation)
 - #150048 (std_detect: AArch64 Darwin: expose SME F16F16 and B16B16 features)
 - #150083 (tests/run-make-cargo/same-crate-name-and-macro-name: New regression test)
 - #150102 (Fixed ICE for EII with multiple defaults due to duplicate definition in nameres)
 - #150124 (unstable.rs: fix typos in comments (implementatble -> implementable))
 - #150125 (Port `#[rustc_lint_opt_deny_field_access]` to attribute parser)
 - #150126 (Subtree sync for rustc_codegen_cranelift)

Failed merges:

 - #150127 (Port `#[rustc_lint_untracked_query_information]` and `#[rustc_lint_diagnostics]` to using attribute parsers)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit that referenced this pull request Dec 18, 2025
…uwer

Rollup of 12 pull requests

Successful merges:

 - #145933 (Expand `str_as_str` to more types)
 - #148849 (Set -Cpanic=abort in windows-msvc stack protector tests)
 - #149925 (`cfg_select!`: parse unused branches)
 - #149952 (Suggest struct pattern when destructuring Range with .. syntax)
 - #150022 (Generate macro expansion for rust compiler crates docs)
 - #150024 (Support recursive delegation)
 - #150048 (std_detect: AArch64 Darwin: expose SME F16F16 and B16B16 features)
 - #150083 (tests/run-make-cargo/same-crate-name-and-macro-name: New regression test)
 - #150102 (Fixed ICE for EII with multiple defaults due to duplicate definition in nameres)
 - #150124 (unstable.rs: fix typos in comments (implementatble -> implementable))
 - #150125 (Port `#[rustc_lint_opt_deny_field_access]` to attribute parser)
 - #150126 (Subtree sync for rustc_codegen_cranelift)

Failed merges:

 - #150127 (Port `#[rustc_lint_untracked_query_information]` and `#[rustc_lint_diagnostics]` to using attribute parsers)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 5e9b3a0 into rust-lang:main Dec 18, 2025
3 of 11 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 18, 2025
rust-timer added a commit that referenced this pull request Dec 18, 2025
Rollup merge of #150126 - bjorn3:sync_cg_clif-2025-12-18, r=bjorn3

Subtree sync for rustc_codegen_cranelift

Nothing too exciting since the last sync.

r? ``@ghost``

``@rustbot`` label +A-codegen +A-cranelift +T-compiler
@bors
Copy link
Collaborator

bors commented Dec 18, 2025

⌛ Testing commit c594c39 with merge fcf67da...

@Kobzol
Copy link
Member

Kobzol commented Dec 18, 2025

@bors r- retry

@bors bors added 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. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 18, 2025
@bjorn3 bjorn3 deleted the sync_cg_clif-2025-12-18 branch December 18, 2025 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-codegen Area: Code generation A-cranelift Things relevant to the [future] cranelift backend has-merge-commits PR has merge commits, merge with caution. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.