Make the randomize feature of rustc_abi additive#117603
Make the randomize feature of rustc_abi additive#117603bors merged 1 commit intorust-lang:masterfrom
Conversation
|
(rustbot has picked a reviewer for you, use r? to override) |
|
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
It's not very obvious / discoverable that this is the reason why |
compiler/rustc_abi/src/lib.rs
Outdated
| self | ||
| } | ||
|
|
||
| #[cfg(feature = "randomize")] |
There was a problem hiding this comment.
an alternative to this would also be to just remove the feature and make the seed a u64 instead. that doesn't really make the code much worse and should fit rust-analyzers needs
There was a problem hiding this comment.
I went this way. The feature couldn't be removed as it will enable the rand dependency which r-a had some problem with it IIRC. So now we are in a non ideal state were the field_shuffle_seed exists but has no effect without the randomize feature.
850d1a5 to
7572ca6
Compare
This comment has been minimized.
This comment has been minimized.
7572ca6 to
c8a25ed
Compare
Noratrieb
left a comment
There was a problem hiding this comment.
r=me after updating the PR description
|
@bors r=nilstrieb |
|
@bors r=Nilstrieb :) |
|
💡 This pull request was already approved, no need to approve it again.
|
|
☀️ Test successful - checks-actions |
|
Finished benchmarking commit (aea82b2): 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)ResultsThis 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.
CyclesResultsThis 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.
Binary sizeResultsThis 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.
Bootstrap: 662.932s -> 663.447s (0.08%) |
89: Automated pull from upstream `master` r=Dajamante a=github-actions[bot] This PR pulls the following changes from the upstream repository: * rust-lang/rust#117006 * rust-lang/rust#117511 * rust-lang/rust#117641 * rust-lang/rust#117637 * rust-lang/rust#117631 * rust-lang/rust#117516 * rust-lang/rust#117190 * rust-lang/rust#117292 * rust-lang/rust#117603 * rust-lang/rust#116988 * rust-lang/rust#117630 * rust-lang/rust#117615 * rust-lang/rust#117613 * rust-lang/rust#117592 * rust-lang/rust#117578 * rust-lang/rust#117435 * rust-lang/rust#117607 90: bump serde and serde_derive r=tshepang a=Dajamante Trying to get around the failure seen in #86 Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Esteban Küber <esteban@kuber.com.ar> Co-authored-by: SparrowLii <liyuan179@huawei.com> Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de> Co-authored-by: Gurinder Singh <frederick.the.fool@gmail.com> Co-authored-by: Michael Goulet <michael@errs.io> Co-authored-by: Thom Chiovoloni <thom@shift.click> Co-authored-by: klensy <klensy@users.noreply.github.com> Co-authored-by: Jack Huey <31162821+jackh726@users.noreply.github.com> Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com> Co-authored-by: hkalbasi <hamidrezakalbasi@protonmail.com> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: Sven Marnach <sven@mozilla.com> Co-authored-by: Rémy Rakic <remy.rakic+github@gmail.com> Co-authored-by: aissata <aimaiga2@gmail.com>
|
Thanks @HKalbasi so much for working on this!! |
Update Rust toolchain from nightly-2023-11-06 to nightly-2023-11-07 without any other source changes. This is an automatically generated pull request. If any of the CI checks fail, manual intervention is required. In such a case, review the changes at https://github.com/rust-lang/rust from rust-lang@fee5518 up to rust-lang@189d6c7. The log for this commit range is: rust-lang@189d6c71f3 Auto merge of rust-lang#117641 - matthiaskrgr:rollup-f9c12td, r=matthiaskrgr rust-lang@9efe60b1eb Rollup merge of rust-lang#117637 - lqd:trivial-bounds-with-binder-vars, r=compiler-errors rust-lang@2a1f8bccee Rollup merge of rust-lang#117631 - smarnach:error-request-doc-fix, r=ChrisDenton rust-lang@8a34fea835 Rollup merge of rust-lang#117516 - matthiaskrgr:test_effects_113375_oob, r=fee1-dead rust-lang@1683df7d3b Rollup merge of rust-lang#117190 - matthiaskrgr:test_effects_113381, r=fee1-dead rust-lang@fb61292105 Auto merge of rust-lang#117292 - estebank:issue-80446, r=davidtwco rust-lang@4b7aacaa4f Silence redundant error on typo resulting on binop rust-lang@aea82b268a Auto merge of rust-lang#117603 - HKalbasi:make-feature-additive, r=Nilstrieb rust-lang@58351ae03f add test for trivial bound not holding in `soa-derive` rust-lang@2beca157c9 check binders with bound vars for global bounds that don't hold rust-lang@b049093560 Auto merge of rust-lang#116988 - RalfJung:null, r=WaffleLapkin rust-lang@e1fcecb1b9 Auto merge of rust-lang#117630 - matthiaskrgr:rollup-v0d5p3f, r=matthiaskrgr rust-lang@3a096e96fa Documentation cleanup for core::error::Request. rust-lang@b88d62e222 Rollup merge of rust-lang#117615 - bjorn3:misc_changes, r=davidtwco rust-lang@ec35c03143 Rollup merge of rust-lang#117613 - jackh726:vacation, r=compiler-errors rust-lang@60dca87cff Rollup merge of rust-lang#117592 - thomcc:env-span-wrong, r=davidtwco rust-lang@6bf2fb3679 Auto merge of rust-lang#117578 - compiler-errors:derive-encode-in-rustc_type_ir, r=davidtwco rust-lang@f9b644636f Auto merge of rust-lang#117435 - SparrowLii:nightly_parallel, r=oli-obk,davidtwco rust-lang@fcca978aa0 Auto merge of rust-lang#117607 - klensy:clang-17.0.4, r=Mark-Simulacrum rust-lang@152a4e90d1 Auto merge of rust-lang#117585 - dnbln:feat/move-kw-span, r=cjgillot rust-lang@f2a40e99ff use portable AtomicU64 for powerPC and MIPS rust-lang@7a892ab8d8 Auto merge of rust-lang#117576 - the8472:fix-io-copy-vec, r=Mark-Simulacrum rust-lang@c8a25eddfe Make the randomize feature of rustc_abi additive rust-lang@ec29a02071 Update doc comment for CodegenBackend::link rust-lang@ba82056a14 Use the actual computed crate name for -Zprint-vtable-sizes rust-lang@1a1b10fa63 Don't steal the parse query when using --pretty rust-lang@6e33e89337 Remove from vacation and compiler review group rust-lang@38ff91c453 bump clang version for dist-x86_64-linux from 17.0.2 to 17.0.4 rust-lang@86fca873ba Use the correct span when emitting the `env!` result rust-lang@c077147200 fix clippy author and failing test rust-lang@876f698790 Add the vis.visit_capture_by() in noop_visit_expr rust-lang@54ce0346c0 add `fn visit_capture_by` to MutVisitor and fix pprust-expr-roundtrip.rs rust-lang@df85b28b72 fixes for rustfmt + ast visitor rust-lang@a6b41aa6ba fmt rust-lang@241a654c07 Fix remaining uses of `CaptureBy::Value` rust-lang@8de489918b feat(hir): Store the `Span` of the `move` keyword rust-lang@bee7b5889e Derive TyEncodable/TyDecodable implementations that are parameterized over interner rust-lang@78aa5e511c detect EOF earlier rust-lang@8d8f06b277 avoid excessive initialization when copying to a Vec rust-lang@666cad9a5f add test for rust-lang#113375 rust-lang@384f7382ba add test for rust-lang#113381 rust-lang@248dd14fa5 update config.example.toml rust-lang@bf5fb7614b update bootstrap change history rust-lang@ab8101d019 enable parallel rustc in nightly builds rust-lang@231f93524d Detect misparsed binop caused by missing semi rust-lang@98d54da1ee document that the null pointer has the 0 address --------- Co-authored-by: celinval <celinval@users.noreply.github.com> Co-authored-by: Zyad Hassan <zyadh@amazon.com> Co-authored-by: Zyad Hassan <88045115+zhassan-aws@users.noreply.github.com>
…workingjubilee Replace some u64 hashes with Hash64 I introduced the Hash64 and Hash128 types in rust-lang#110083, essentially as a mechanism to prevent hashes from landing in our leb128 encoding paths. If you just have a u64 or u128 field in a struct then derive Encodable/Decodable, that number gets leb128 encoding. So if you need to store a hash or some other value which behaves very close to a hash, don't store it as a u64. This reverts part of rust-lang#117603, which turned an encoded Hash64 into a u64. Based on rust-lang#110083, I don't expect this to be perf-sensitive on its own, though I expect that it may help stabilize some of the small rmeta size fluctuations we currently see in perf reports.
…workingjubilee Replace some u64 hashes with Hash64 I introduced the Hash64 and Hash128 types in rust-lang#110083, essentially as a mechanism to prevent hashes from landing in our leb128 encoding paths. If you just have a u64 or u128 field in a struct then derive Encodable/Decodable, that number gets leb128 encoding. So if you need to store a hash or some other value which behaves very close to a hash, don't store it as a u64. This reverts part of rust-lang#117603, which turned an encoded Hash64 into a u64. Based on rust-lang#110083, I don't expect this to be perf-sensitive on its own, though I expect that it may help stabilize some of the small rmeta size fluctuations we currently see in perf reports.
Rollup merge of rust-lang#137095 - saethlin:use-hash64-for-hashes, r=workingjubilee Replace some u64 hashes with Hash64 I introduced the Hash64 and Hash128 types in rust-lang#110083, essentially as a mechanism to prevent hashes from landing in our leb128 encoding paths. If you just have a u64 or u128 field in a struct then derive Encodable/Decodable, that number gets leb128 encoding. So if you need to store a hash or some other value which behaves very close to a hash, don't store it as a u64. This reverts part of rust-lang#117603, which turned an encoded Hash64 into a u64. Based on rust-lang#110083, I don't expect this to be perf-sensitive on its own, though I expect that it may help stabilize some of the small rmeta size fluctuations we currently see in perf reports.
…bilee Replace some u64 hashes with Hash64 I introduced the Hash64 and Hash128 types in rust-lang/rust#110083, essentially as a mechanism to prevent hashes from landing in our leb128 encoding paths. If you just have a u64 or u128 field in a struct then derive Encodable/Decodable, that number gets leb128 encoding. So if you need to store a hash or some other value which behaves very close to a hash, don't store it as a u64. This reverts part of rust-lang/rust#117603, which turned an encoded Hash64 into a u64. Based on rust-lang/rust#110083, I don't expect this to be perf-sensitive on its own, though I expect that it may help stabilize some of the small rmeta size fluctuations we currently see in perf reports.
…bilee Replace some u64 hashes with Hash64 I introduced the Hash64 and Hash128 types in rust-lang/rust#110083, essentially as a mechanism to prevent hashes from landing in our leb128 encoding paths. If you just have a u64 or u128 field in a struct then derive Encodable/Decodable, that number gets leb128 encoding. So if you need to store a hash or some other value which behaves very close to a hash, don't store it as a u64. This reverts part of rust-lang/rust#117603, which turned an encoded Hash64 into a u64. Based on rust-lang/rust#110083, I don't expect this to be perf-sensitive on its own, though I expect that it may help stabilize some of the small rmeta size fluctuations we currently see in perf reports.
The goal here is to make rust-analyzer able to build with the
rustc_privateversions of the rustc crates it depends on. See #116847