-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Rollup of 12 pull requests #147512
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 12 pull requests #147512
Conversation
They will be used in Clippy.
When building with `rust.rpath = false`, every `rustc` invocation needs to include the library path as well. I particularly ran into this in `generate_target_spec_json_schema` when testing 1.91-beta in Fedora, where we do disable rpath for our system builds. The new helper function will hopefully encourage the right thing going forward.
Users who build `core` for the sole purpose of enabling `panic_immediate_abort` might expect "`panic_immediate_abort` is now a real panic strategy" to mean that setting `panic = "immediate-abort"` in `Cargo.toml` or `-Cpanic=immediate-abort` in `RUSTFLAGS` to be sufficient for migration. But this is not the case, `core` still needs to be built for those changes to take effect. See rust-lang#146974 for additional context.
LLVM generally can do this on its own, but it helps miri and other backends.
…obal` Since it can easily be implemented using the existing LLVM C API in terms of `LLVMAddGlobal` and `LLVMSetLinkage` and `define_private_global` was only used in one place.
All APIs used from outside the compiletest library crate have been isolated to the `cli` and `rustdoc_gui_test` modules, so no other items need to be publicly exported.
Port the implemention of SIMD intrinsics from Miri to const-eval Ported the implementation of most SIMD intrinsics from Miri to rustc_const_eval. Remaining are - Math functions (as per `@RalfJung's` suggestions) - FMA (non-deterministic) - Funnel Shifts (not implemented in Miri yet) - Unordered reduction intrinsics (not implemented in Miri yet)
…mdev give a better example why `std` modules named like primitives are needed A small update to the `std` `lib.rs` introduction to replace mentions of `std::i32` (never needed) with `std::char` (sometimes needed). Related to rust-lang#146882.
…lathar,jieyouxu bootstrap: add `Builder::rustc_cmd` that includes the lib path When building with `rust.rpath = false`, every `rustc` invocation needs to include the library path as well. I particularly ran into this in `generate_target_spec_json_schema` when testing 1.91-beta in Fedora, where we do disable rpath for our system builds. The new helper function will hopefully encourage the right thing going forward.
…d, r=joboet Add diagnostic items for `pub mod consts` of FP types They will be used in Clippy.
…Jung,joboet specialize slice::fill to use memset when possible It helps const eval performance rust-lang/miri#4616, debug builds and the gcc backend. Previously attempted in rust-lang#83245 but reverted due to unsoundness rust-lang#87891 around potentially-uninitialized types. This PR only handles primitives where the problem does not arise. split off from rust-lang#147294
…=JonathanBrouwer Fix double warnings on `#[no_mangle]` Fixes 2 out of 3 cases in rust-lang#147417 The fix on closures removes the old error and marks closures as an error target. The fix on consts adds `AllowSilent` to to ignore a target, and uses the old error because that one has a nice suggestion. r? ````@jdonszelmann````
…crum Clarify how to remediate the panic_immediate_abort error Users who build `core` for the sole purpose of enabling `panic_immediate_abort` might expect "`panic_immediate_abort` is now a real panic strategy" to mean that setting `panic = "immediate-abort"` in `Cargo.toml` or `-Cpanic=immediate-abort` in `RUSTFLAGS` to be sufficient for migration. But this is not the case, `core` still needs to be built for those changes to take effect. See rust-lang#146974 for additional context. See rust-lang#147286 and rust-lang/cargo#16042 for the revelant tracking issues.
…miasko Do not invalidate CFG caches in CtfeLimit. This does not matter much, as no optimization pass runs after `CtfeLimit`, but I still find the code cleaner.
format: some small cleanup Some small cleanup and some additional comments I did while trying to understand this code.
…ate_global, r=nikic refactor: Remove `LLVMRustInsertPrivateGlobal` and `define_private_global` Since it can easily be implemented using the existing LLVM C API in terms of `LLVMAddGlobal` and `LLVMSetLinkage` and `define_private_global` was only used in one place. Work towards rust-lang#46437
… r=Kivooeo,oli-obk Prefer to use repeat_n over repeat().take() More from rust-lang#147464, but batch processed with `ast-grep` to find and replace. second commit add notes for library: rust-lang@affaf53 r? ``@RalfJung``
compiletest: Isolate public APIs and minimize public surface area As part of my ongoing efforts to improve directive parsing, I would like to be able to make internal changes without worrying about whether they're going to break the rustdoc-gui-test tool. That tool currently uses compiletest as a dependency to help with directive parsing. This PR therefore isolates all of compiletest's public APIs into two dedicated modules, one used by rustdoc-gui-test, and one used by the compiletest binary in `compiletest/src/bin/main.rs`. All other modules (and crate-root items) are then made non-`pub` to achieve the API isolation. Doing so reveals some unused items, which have been removed. (To reduce the amount of immediate textual churn, this PR does not comprehensively replace `pub` with `pub(crate)` throughout the whole crate; that could be done in a follow-up PR.) --- Ideally, rustdoc-gui-test would not depend on compiletest at all, but properly fixing that is out of scope for this PR. - rust-lang#143827 r? jieyouxu
Rollup of everything. @bors r+ rollup=never p=5 |
☀️ Test successful - checks-actions |
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 bd34871 (parent) -> acf2437 (this PR) Test differencesShow 742 test diffsStage 0
Stage 1
Stage 2
Additionally, 718 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 acf243778e6c54cb7d54bee4be88e510e4be123e --output-dir test-dashboard And 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: bd3487101f In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (acf2437): 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)Results (secondary 1.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.1%, secondary -2.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 474.495s -> 471.876s (-0.55%) |
Some of the secondary regressions are bimodal noise, but the coercions ones look real enough to raise an eyebrow. |
Queued b468255 with parent bd34871, future comparison URL. |
Successful merges:
std
modules named like primitives are needed #147373 (give a better example whystd
modules named like primitives are needed)Builder::rustc_cmd
that includes the lib path #147419 (bootstrap: addBuilder::rustc_cmd
that includes the lib path)pub mod consts
of FP types #147420 (Add diagnostic items forpub mod consts
of FP types)#[no_mangle]
#147467 (Fix double warnings on#[no_mangle]
)LLVMRustInsertPrivateGlobal
anddefine_private_global
#147488 (refactor: RemoveLLVMRustInsertPrivateGlobal
anddefine_private_global
)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup