Skip to content

Rollup of 7 pull requests #135682

New issue

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

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

Already on GitHub? # 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
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Helps to provide 1:1 build experience between git-managed and tarball sources.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
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.
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
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/#/#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
# for free to join this conversation on GitHub. Already have an account? # 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.