-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Rollup of 7 pull requests #150013
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 #150013
Conversation
Replace the f32 test case with an f64 equivalent to improve coverage for parsing large digit counts in double-precision floating-point conversion.
Mention amdgpu-device-libs for allocator and println support and mention the necessary target flag for GPUs from some some series without xnack support. For the last half year, there were no major changes in the amdgpu-device-libs crate (in fact, there was no need to update the crate), so I believe it is stable enough to mention it here. The xnack-support flag is something I stumbled upon recently, when more complex printlns failed on a certain GPU.
The amdgpu target uses vector types in various places. The vector types can be used on all architectures, there is no associated target feature that needs to be enabled. The largest vector type found in LLVM intrinsics is `v32i32` (`[32 x i32]`) for mfma intrinsics. Note that while this intrinsic is only supported on some architectures, the vector type itself is supported on all architectures.
This commit changes the links in the source code that link to a platform specific implementation of the POSIX interface of `clock_gettime`, despite the respective areas in the code being specifically UNIX system agnostic, thereby making it more reasonable to link the POSIX specific document.
Fixes the run-make test framework to use target-specific library linking instead of host-based detection. Previously, tests for hexagon targets failed because the framework used uname() to detect libraries to link, which returned Linux libraries (-lm -lrt -ldl -lpthread) that don't exist on all hexagon targets. - Use target() instead of uname() to detect cross-compilation targets - Add hexagon-specific library configuration (-lunwind -lclang_rt.builtins-hexagon) - Maintain backward compatibility for host-native compilation This enables hexagon tests to compile and link successfully with the appropriate runtime libraries for the hexagon platform.
test: update duplicate many_digits test to use f64 instead of f32 Replace the f32 test case with an f64 equivalent to improve coverage for parsing large digit counts in double-precision floating-point conversion. Specifically, this PR updates the `many_digits` test in `library/coretests/tests/num/dec2flt/parse.rs` to test f64 (double-precision) parsing instead of f32 (single-precision). The test verifies that decimal strings with an excessive number of digits (beyond `Decimal::MAX_DIGITS`) are parsed correctly, ensuring proper truncation of insignificant digits. Previously, the same test was repeated twice (see comment rust-lang#86761 (comment) by `@Viatorus).` ## Changes - Replaced the duplicated f32 test case with an equivalent f64 test case. - Updated the expected bit pattern and input string to a very long decimal with many trailing zeros, testing the limits of f64 precision.
mir_build: Move and rename code for partitioning match candidates I've always found it confusing that this code uses the word “sort” to describe partitioning candidates into buckets, since it isn't *sorting* them in the usual sense. This PR therefore renames the relevant methods: - `sort_candidates` → `partition_candidates_into_buckets` - `sort_candidate` → `choose_bucket_for_candidate` In addition, this PR moves those methods into their own `buckets` module, updates some comments to reflect the renaming, and also makes `partition_candidates_into_buckets` return a named struct instead of a tuple. There should be no change to compiler behaviour.
Move ambient cdb discovery from compiletest to bootstrap - Follow-up to rust-lang#149710 --- As with the previous PR, this PR takes the compiletest code for discovering an “ambient” `cdb` in the user's path, and moves it to bootstrap. The discovery code is indeed questionable, but improving it is out of scope for this PR. r? jieyouxu
Improve amdgpu docs: Mention device-libs and xnack Mention amdgpu-device-libs for allocator and println support and mention the necessary target flag for GPUs from some some series without xnack support. For the last half year, there were no major changes in the amdgpu-device-libs crate (in fact, there was no need to update the crate), so I believe it is stable enough to mention it here. The xnack-support flag is something I stumbled upon recently, when more complex printlns failed on a certain GPU. Tracking issue: rust-lang#135024
Allow vector types for amdgpu The amdgpu target uses vector types in various places. The vector types can be used on all architectures, there is no associated target feature that needs to be enabled. The largest vector type found in LLVM intrinsics is `v32i32` (`[32 x i32]`) for mfma intrinsics. Note that while this intrinsic is only supported on some architectures, the vector type itself is supported on all architectures. Tracking issue: rust-lang#135024 (I used an empty string to say “does not need a target feature”. If you prefer an `Option` or something like that, I’ll change it.)
Link POSIX instead of Linux manual for Instant This commit changes the links in the source code that link to a platform specific implementation of the POSIX interface of `clock_gettime`, despite the respective areas in the code being specifically UNIX system agnostic, thereby making it more reasonable to link the POSIX specific document.
… r=jieyouxu Correct library linking for hexagon targets in run-make tests Fixes the run-make test framework to use target-specific library linking instead of host-based detection. Previously, tests for hexagon targets failed because the framework used uname() to detect libraries to link, which returned Linux libraries (-lm -lrt -ldl -lpthread) that don't exist on all hexagon targets. - Use target() instead of uname() to detect cross-compilation targets - Add hexagon-specific library configuration (-lunwind -lclang_rt.builtins-hexagon) - Maintain backward compatibility for host-native compilation This enables hexagon tests to compile and link successfully with the appropriate runtime libraries for the hexagon platform.
|
@bors r+ rollup=never p=5 |
|
☀️ Test successful - checks-actions |
|
📌 Perf builds for each rolled up PR:
previous master: 693f365667 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
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 693f365 (parent) -> ee44706 (this PR) Test differencesShow 69 test diffsStage 2
Additionally, 68 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 ee447067e18f07aa6ee67dcf0ddc7b07eb675672 --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 |
|
Finished benchmarking commit (ee44706): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -3.4%, secondary -15.7%)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: 480.53s -> 478.788s (-0.36%) |
Successful merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup