Skip to content

Rollup of 7 pull requests #135682

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Jan 18, 2025
Merged

Rollup of 7 pull requests #135682

merged 19 commits into from
Jan 18, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Kobzol and others added 19 commits January 14, 2025 21:21
Helps to provide 1:1 build experience between git-managed and tarball sources.

Signed-off-by: onur-ozkan <[email protected]>
this prepares the code structure for adding logical edges to the graph next
Instead of materializing `Locations::All` constraints as physical edges
at all the points in the CFG, we record them as logical edges and only
materialize them during traversal as successors for a given node.

This fixes the slowness/hang in the `saturating-float-casts.rs` test.
Mention the IEEE function by name and create a doc alias of the same.
const-eval: detect more pointers as definitely not-null

This fixes rust-lang#133523 by making the `scalar_may_be_null` check smarter: for instance, an odd offset in any 2-aligned allocation can never be null, even if it is out-of-bounds.

More generally, if an allocation with unknown base address B is aligned to alignment N, and a pointer is at offset X inside that allocation, then we know that `(B + X) mod N = B mod N + X mod N = X mod N`. Since `0 mod N` is definitely 0, if we learn that `X mod N` is *not* 0 we can deduce that `B + X` is not 0.

This is immediately visible on stable, via `ptr.is_null()` (and, more subtly, by not raising a UB error when such a pointer is used somewhere that a non-null pointer is required). Therefore nominating for `@rust-lang/lang.`
…kh726

Encode constraints that hold at all points as logical edges in location-sensitive polonius

Currently, with the full setup in rust-lang#134980 (but is from rust-lang#134268), the polonius location-sensitive analysis converts `Locations::All` typeck constraints as edges at all points in the CFG. This was temporary.

There's a FIXME about that already, and this PR implements it: we now use the constraints that hold at all points during traversal instead of eagerly materializing them as physical edges.

Another easy one `@jackh726.`

This fixes the slowness that was happening on the big CFG from the `saturating-float-casts` test (because of its 12M materialized edges) without, AFAICT, simply moving this overhead to traversal: materializing the logical edges is done on-demand.

r? `@jackh726` (no rush either)
Run clippy for rustc_codegen_gcc on CI

Requested on [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Run.20clippy.20for.20rustc_codegen_gcc.20in.20the.20Rust.20CI).

Opening as a draft, since it's not clear which rules should be applied to it.

r? `@ghost`
…iplett

Move `std::pipe::*` into `std::io`

Resolve concern from final comment period rust-lang#127154 (comment)
…rballs, r=clubby789

Include x scripts in tarballs

Helps to provide 1:1 build experience between git-managed and tarball sources.
…=Kobzol

ci: mirror buildkit image to ghcr
…own, r=scottmcm

Stabilize `float_next_up_down`

FCP completed at [1].

For `f16` and `f128`, this just removes the gates in comments and doctests.

Closes rust-lang#91399

[1]: rust-lang#91399 (comment)
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 18, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jan 18, 2025

📌 Commit 23fb4f2 has been approved by matthiaskrgr

It is now in the queue for this repository.

@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. labels Jan 18, 2025
@bors
Copy link
Collaborator

bors commented Jan 18, 2025

⌛ Testing commit 23fb4f2 with merge 0493557...

@bors
Copy link
Collaborator

bors commented Jan 18, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 0493557 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 18, 2025
@bors bors merged commit 0493557 into rust-lang:master Jan 18, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Jan 18, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#133700 const-eval: detect more pointers as definitely not-null 8974c02a73db0148b85c88d535fe5570b7039b39 (link)
#135290 Encode constraints that hold at all points as logical edges… 5f50becce98befb953c3872442119fccd58a95ef (link)
#135478 Run clippy for rustc_codegen_gcc on CI a41c55af46f560618edbedd3baf3d6fac627bac1 (link)
#135583 Move std::pipe::* into std::io a58391347c834bf6a7d5cfd4a109d099d04a9ad6 (link)
#135612 Include x scripts in tarballs b292796530b5946de6b4047b9a5c916744d21dcd (link)
#135624 ci: mirror buildkit image to ghcr 61abaf138c59c09d2ef2149a5dcb68f6aa1446e8 (link)
#135661 Stabilize float_next_up_down d5e63af3607eefc54c4ed8becdfe43c8fce0acb6 (link)

previous master: efc25761e5

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (0493557): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

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

Max RSS (memory usage)

Results (primary 1.1%, secondary -0.5%)

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.1% [1.1%, 1.1%] 1
Regressions ❌
(secondary)
2.2% [1.1%, 3.3%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-3.0%, -1.9%] 3
All ❌✅ (primary) 1.1% [1.1%, 1.1%] 1

Cycles

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

Binary size

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

Bootstrap: 762.052s -> 764.993s (0.39%)
Artifact size: 326.01 MiB -> 326.02 MiB (0.00%)

@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v4' (SHA:11bd71901bbe5b1630ceea73d27597364c9af683)
Complete job name: DockerHub mirror
with:
  persist-credentials: false
  repository: rust-lang/rust
  token: ***
---
http.https://github.com./.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com./.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com./.extraheader' || :"
##[endgroup]
##[group]Run echo "***" | docker login ghcr.io -u rust-lang --password-stdin
echo "***" | docker login ghcr.io -u rust-lang --password-stdin
shell: /usr/bin/bash -e {0}
WARNING! Your password will be stored unencrypted in /home/runner/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store


Login Succeeded
##[group]Run curl -sL "https://github.com./google/go-containerregistry/releases/download/${VERSION}/go-containerregistry_${OS}_${ARCH}.tar.gz" | tar -xzf -
curl -sL "https://github.com./google/go-containerregistry/releases/download/${VERSION}/go-containerregistry_${OS}_${ARCH}.tar.gz" | tar -xzf -
shell: /usr/bin/bash -e {0}
---
  VERSION: v0.20.2
  OS: Linux
  ARCH: x86_64
##[endgroup]
##[group]Run # List of DockerHub images to mirror to ghcr.io
# List of DockerHub images to mirror to ghcr.io
images=(
  # Mirrored because used by the mingw-check-tidy, which doesn't cache Docker images
  "ubuntu:22.04"
  # Mirrored because used by all linux CI jobs, including mingw-check-tidy
  "moby/buildkit:buildx-stable-1"


# Mirror each image from DockerHub to ghcr.io
for img in "${images[@]}"; do
  echo "Mirroring ${img}..."
  # Remove namespace from the image if any.
  # E.g. "moby/buildkit:buildx-stable-1" becomes "buildkit:buildx-stable-1"
  dest_image=$(echo "${img}" | cut -d'/' -f2-)
  ./crane copy \
    "docker.io/${img}" \
    "ghcr.io/rust-lang/${dest_image}"
shell: /usr/bin/bash -e {0}
##[endgroup]
Mirroring ubuntu:22.04...
Mirroring ubuntu:22.04...
2025/01/19 00:00:45 Copying from docker.io/ubuntu:22.04 to ghcr.io/rust-lang/ubuntu:22.04
2025/01/19 00:00:45 existing manifest: 22.04@sha256:0e5e4a57c2499249aafc3b40fcd541e9a456aab7296681a3994d631587203f97
Mirroring moby/buildkit:buildx-stable-1...
2025/01/19 00:00:45 Copying from docker.io/moby/buildkit:buildx-stable-1 to ghcr.io/rust-lang/buildkit:buildx-stable-1
2025/01/19 00:00:48 pushed blob: sha256:5745c4a3ee07104570b1d07ede8d8a0ded9a738f0efe2a6f61a4150657ec5115
2025/01/19 00:00:48 pushed blob: sha256:2723bbe95689a46bd4cbe83e27fb42475660f41b02c96d21411fa76d803e8553
2025/01/19 00:00:48 pushed blob: sha256:4261d20208fd5fe57c9f53c86783089a963169d6db6f16306e083ca43f937e0b
2025/01/19 00:00:48 pushed blob: sha256:da9db072f522755cbeb85be2b3f84059b70571b229512f1571d9217b77e1087f
2025/01/19 00:00:48 pushed blob: sha256:9986a736f7d3d24bb01b0a560fa0f19c4b57e56c646e1f998941529d28710e6b
2025/01/19 00:00:49 pushed blob: sha256:0470aa1f4cadf9b22bd8e71d5bc46c5c056dc77bac836683060865eb81d22c52
2025/01/19 00:00:49 pushed blob: sha256:95268912ae89672ca7359b19d171b69df200b863b43401dbcbd44a5c745a61b4
2025/01/19 00:00:49 pushed blob: sha256:6295621ed61e3915cb3429b28570cea66ae644c11c6aca4e05faeef30d49f570
2025/01/19 00:00:49 pushed blob: sha256:a72f628fa83ed3eaffa03750bad3be46092968fe07eb8d683a5a7c650be925c2
2025/01/19 00:00:49 pushed blob: sha256:176ab9c247e528ff613378bd445bae511ebdbf327b078ce69089183b5fad7ad4
2025/01/19 00:00:49 pushed blob: sha256:5f0270a7768ef6293422b95e6a98e096cdc3cd9b695d63fd25d616ca064d0cc3
2025/01/19 00:00:49 pushed blob: sha256:c68106b2c9f468e526154ceb2b50fa2a130a7e01ea55b97af68b464f92760706
2025/01/19 00:00:49 pushed blob: sha256:ad9111b61dba62375cbc808719e50b32c660cd9b6de8f0e2163619c283a4d33c
2025/01/19 00:00:52 pushed blob: sha256:4672fdae34b58f501f285c26bd79b53dbe35345029a618e5c7dd84baf67e955f
2025/01/19 00:00:52 ghcr.io/rust-lang/buildkit@sha256:e5a615d8148515f20dc7bbdb7b92fcc9daf6a203ba6b3d6fb1b592c96af1f242: digest: sha256:e5a615d8148515f20dc7bbdb7b92fcc9daf6a203ba6b3d6fb1b592c96af1f242 size: 1410
2025/01/19 00:00:53 pushed blob: sha256:a6be521b90ca2195fc90ed25b2c1b24fde8f70d8b785be4a07d4de8af4aeed4a
2025/01/19 00:00:53 ghcr.io/rust-lang/buildkit@sha256:cf41e48173ddeb5265761961c94a19d49738d0a2fd3caced40a7a5bf18bf0075: digest: sha256:cf41e48173ddeb5265761961c94a19d49738d0a2fd3caced40a7a5bf18bf0075 size: 1410
2025/01/19 00:00:54 pushed blob: sha256:675301242e6ca0e7c45deb0b2d387cc7f3c5800ceb6d85d67adb68e75beb706e
2025/01/19 00:00:54 pushed blob: sha256:d2fd7cbd61e04c5d4bdc4202b256c627c16ed3f14efc8f1551c8cabce8413fed
2025/01/19 00:00:54 pushed blob: sha256:92d9fd4ca59f6b3973ee52b76267c313d1ba2226455b74febbbcd22f2137c694
2025/01/19 00:00:54 pushed blob: sha256:22892cdc5e9ff297ac012c2fbe3c12724a3cf4d0a55f5f03f95a7f3ab3e77e36
2025/01/19 00:00:54 ghcr.io/rust-lang/buildkit@sha256:2e63a82157adcc534f57eff0b17326d47b96ca74a0e614ac312397c346e505a5: digest: sha256:2e63a82157adcc534f57eff0b17326d47b96ca74a0e614ac312397c346e505a5 size: 1410
2025/01/19 00:00:56 pushed blob: sha256:3f663c72a4400e64640f7a011342f4df58a4f6eee9bc89853b5f3ace937fc232
2025/01/19 00:00:56 pushed blob: sha256:b26f59547b1c041a2c5b781162170c4557b3af9787dceae619be0851f504dbe8
2025/01/19 00:00:56 pushed blob: sha256:245d9be011136ebf13e43c2b9f753317d86c77238b23393d69b5d41bf9b5e924
2025/01/19 00:00:56 pushed blob: sha256:1f287b8e1a82d21a652db63cc19dff04b5bc4bff5600f029d2811805c96177f1
2025/01/19 00:00:56 pushed blob: sha256:ea37667e50ca807fa8abc1caf0d21091cbbe1d66b2c217158fb3e91c2787afaf
2025/01/19 00:00:56 pushed blob: sha256:5caa6c5c66dd50adfc75d1752ea3deeea1f4fca54ee4b761a733b767fd342788
2025/01/19 00:00:57 pushed blob: sha256:65865fee689f7e27121f94fddd796b9e227c0fc0d3535bfdb9ac2e85333e8ae4
2025/01/19 00:00:57 ghcr.io/rust-lang/buildkit@sha256:5769c54b98840147b74128f38fb0b0a049e24b11a75bd81664131edd2854593f: digest: sha256:5769c54b98840147b74128f38fb0b0a049e24b11a75bd81664131edd2854593f size: 1410
2025/01/19 00:00:57 pushed blob: sha256:ca3a3290a7bda000262229018f7e890c6f0f0fc484b31c015f5ae81f011b57d2
2025/01/19 00:00:57 pushed blob: sha256:f3fe991e6e3b305233a073deec28572a9716f642f8503f9d5df8ee95f49a6459
2025/01/19 00:00:57 ghcr.io/rust-lang/buildkit@sha256:e0b68b7b3198a88ae3947536a53c4d866c5f2b7fef37ef4d6c2ba5a3f8fbb080: digest: sha256:e0b68b7b3198a88ae3947536a53c4d866c5f2b7fef37ef4d6c2ba5a3f8fbb080 size: 1113
2025/01/19 00:00:58 ghcr.io/rust-lang/buildkit@sha256:95a4100ba8fdb5f7df2cc9c48c4c87f7b0f047884a49918c9f4c2b31894daadd: digest: sha256:95a4100ba8fdb5f7df2cc9c48c4c87f7b0f047884a49918c9f4c2b31894daadd size: 1410
2025/01/19 00:00:58 pushed blob: sha256:cf7e83a72afcf251cbfe81e7966ef30d941b216d5953d9a5c965a1c132b93e9c
2025/01/19 00:00:58 pushed blob: sha256:505492424ec81e9df9cf10633d9136a1ded37935304cfd62cc7a12ea40fdefe2
2025/01/19 00:00:58 pushed blob: sha256:efcce74e8ac95ce47d744109c873bafdbecf56b39f036c71c35a472e61b0faef
2025/01/19 00:00:58 pushed blob: sha256:8a7c746656dda85a78e6983258aca34f55d29c8831f1ceced8e394ff7ac4f1ec
2025/01/19 00:00:58 ghcr.io/rust-lang/buildkit@sha256:df12327b4782afaf7e45d880bd997f7896e3096b584965526a341b65f4bfab28: digest: sha256:df12327b4782afaf7e45d880bd997f7896e3096b584965526a341b65f4bfab28 size: 1410
2025/01/19 00:00:58 pushed blob: sha256:5f2a27528ad879f3939e2024cb227a6b105aaee6fa109ba5b42f6042505d7265
2025/01/19 00:00:59 pushed blob: sha256:5af13f54704b68ce27d5ad26b26e2c95adc58b66dae439e991100c6452798920
2025/01/19 00:00:59 pushed blob: sha256:230f4dd0fe1b1b77c01f362771ebadf5fb35f87752af87100fc4ca002f22d62d
2025/01/19 00:00:59 pushed blob: sha256:c0ed50df2199bff9a3c2fe6e7e618d926269c2b45600daa1be5aada6295603a3
2025/01/19 00:00:59 pushed blob: sha256:d9bc75d7258a18386c3063b399495f897bfd47849992e22b76351687c9029fb4
2025/01/19 00:01:00 retrying without mount: POST https://ghcr.io/v2/rust-lang/buildkit/blobs/uploads/?from=moby%2Fbuildkit&mount=sha256%3Ab041ced1ba5b6ea7498859b89dacc6a203999588ae1f854011c3523c8a13211f&origin=REDACTED: DENIED: permission_denied: write_package
2025/01/19 00:01:00 pushed blob: sha256:b041ced1ba5b6ea7498859b89dacc6a203999588ae1f854011c3523c8a13211f
2025/01/19 00:01:00 pushed blob: sha256:4aa1814ae84e8ec7fed20f9b755ddcfbc64c67a31e60e5fc885c793f5e3d2c0c
2025/01/19 00:01:00 pushed blob: sha256:a1ffcf1c482e3ac3da214785e22ea5129e2e87fcf1e16bdb448c48cfd71b7288
2025/01/19 00:01:00 ghcr.io/rust-lang/buildkit@sha256:11650104f504795825a249b20109186041e3f1d3feb24b1ce524de3e70a1e380: digest: sha256:11650104f504795825a249b20109186041e3f1d3feb24b1ce524de3e70a1e380 size: 1113
2025/01/19 00:01:01 pushed blob: sha256:331f1c361e617c3f1c6c0c6f5d04e7a24597e5e8608274391df45de5e5a2ddba
2025/01/19 00:01:01 pushed blob: sha256:b68495dd7cd598f71ab482d6ee5f73f3ea157a36219ad97c2f030e72997208f7
2025/01/19 00:01:01 pushed blob: sha256:eb6ebf78d05708889a603ac6d59e5e979dd9ef9dd5458f739cd168558fc2a4f8
2025/01/19 00:01:01 pushed blob: sha256:b05e604bdce79c9f2ac227e50bb1ccde53c855c6d5ade3791067b5a61599d2b5
Error: PUT https://ghcr.io/v2/rust-lang/buildkit/blobs/upload/0a35b4f5-f774-4d56-a25b-6f6269b1e736?digest=sha256%3A064b4bf0fe1173686bffff157f7dcad578a07d8cb809f04bbd0e6759be6a1551: DENIED: permission_denied: write_package
##[error]Process completed with exit code 1.

@matthiaskrgr matthiaskrgr deleted the rollup-cl7zlt1 branch January 25, 2025 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like rollup A PR which is a rollup 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-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.