-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
Rollup of 17 pull requests #152562
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 17 pull requests #152562
Conversation
This code is now in `rustc_middle`, and doesn't need any non-trivial methods, so it can just use `TyCtxt` directly instead.
llvm will look at both 1. the values of "target-features" and 2. the function string attributes. this removes the redundant function string attribute because it is not needed at all. rustc sets the `+backchain` attribute through `target_features_attr(...)`
It can't be serialized to a file.
now that the analysis is only using the regular liveness shape, we don't need to store it transposed, and thus don't need the container where it was stored: the liveness context would be alone in the polonius context. we thus remove the latter, and rename the former.
we may need to traverse the lazy graph multiple times: - to record loan liveness - to dump the localized outlives constraint in the polonius MIR dump to do that we extract the previous loan liveness code into an abstract traversal + visitor handling the liveness-specific parts, while the MIR dump will be able to record constraints in its own visitor.
now that we need to hold the graph for MIR dumping, and the associated data to traverse it, there is no difference between the main context and diagnostics context, so we merge them.
Previously, rustc rejected HvxVectorPair types in function signatures because the HEXAGON_FEATURES_FOR_CORRECT_FIXED_LENGTH_VECTOR_ABI array only had entries for vectors up to 1024 bits. This caused the ABI checker to emit "unsupported vector type" errors for 2048-bit HvxVectorPair (used in 128-byte HVX mode). Add 2048 byte entry to allow HvxVectorPair to be passed in extern "C" funcs when the hvx-length128b is enabled.
Compute localized outlives constraints lazily This PR rewrites the loan liveness algorithm to compute localized constraints lazily during traversal, to avoid the sometimes costly conversion and indexing happening in the current eager algorithm (or for now as well, the need to reshape the liveness data to better list regions live at a given point). It thus greatly reduces the current alpha overhead, although it wasn't entirely removed of course (we're obviously doing more work to improve precision): the worst offending benchmark has a +5-6% wall-time regression — but icounts are worse looking (+13%) rn. Best reviewed per-commit, as steps are in sequence to simplify the process or unify some things. r? @jackh726
…-rules, r=petrochenkov Improve code suggestion for incorrect macro_rules! usage Fixes rust-lang#150899
|
Rollup of everything. @bors r+ rollup=never p=5 |
|
Double-check the job that failed in the previous rollup: @bors try jobs=dist-ohos-armv7 |
This comment has been minimized.
This comment has been minimized.
Rollup of 17 pull requests try-job: dist-ohos-armv7
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 47611e1 (parent) -> d7daac0 (this PR) Test differencesShow 340 test diffsStage 1
Stage 2
Additionally, 296 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard d7daac06d87e1252d10eaa44960164faac46beff --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
📌 Perf builds for each rolled up PR:
previous master: 47611e1604 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (d7daac0): comparison URL. Overall result: ❌ regressions - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary -2.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 482.691s -> 479.255s (-0.71%) |
|
Could be noise, not sure, let's wait for the next PR to see if it goes back down |
Successful merges:
QueryJobMap#152514 (Collect active query jobs into structQueryJobMap)DepContextinrustc_middle::traits::cache#152520 (Don't useDepContextinrustc_middle::traits::cache)-Znext-solverPrevent committing unfulfilled unsized coercion #152444 (-Znext-solverPrevent committing unfulfilled unsized coercion)try bikeshedexpressions #152519 (Fix feature gating for newtry bikeshedexpressions)Failed merges:
DepKindVTableconstructors to their own module #152515 (ExtractDepKindVTableconstructors to their own module)r? @ghost
Create a similar rollup