-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Rollup of 7 pull requests #135682
Rollup of 7 pull requests #135682
Conversation
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
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.
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
FCP completed at [1]. Closes rust-lang#91399 [1]: rust-lang#91399 (comment)
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)
@bors r+ rollup=never p=5 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: efc25761e5 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (0493557): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis 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.
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.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 762.052s -> 764.993s (0.39%) |
Successful merges:
std::pipe::*
intostd::io
#135583 (Movestd::pipe::*
intostd::io
)float_next_up_down
#135661 (Stabilizefloat_next_up_down
)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup