-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Stop SRoA'ing DynMetadata
in MIR
#125508
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Stop SRoA'ing DynMetadata
in MIR
#125508
Conversation
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
test? :3 |
@@ -70,6 +70,11 @@ fn escaping_locals<'tcx>( | |||
// Exclude #[repr(simd)] types so that they are not de-optimized into an array | |||
return true; | |||
} | |||
if Some(def.did()) == tcx.lang_items().dyn_metadata() { | |||
// codegen wants to see the `DynMetadata<T>`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i actually think it's about time to investigate remove the layout special casing from dynmetadata and seeing what happens if you just let it be repr(transparent) :3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried it out; #125532 (comment)
Looks like the hardest part might be dealing with whether the reference actually has AM memory behind it, and I have no idea how to solve that, so I'll stick with this change for now.
This comment has been minimized.
This comment has been minimized.
@bors r+ |
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125413 (drop region constraints for ambiguous goals) - rust-lang#125433 (A small diagnostic improvement for dropping_copy_types) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) - rust-lang#125546 (Try to not reinstall tools in mingw CI) r? `@ghost` `@rustbot` modify labels: rollup
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
Rollup of 8 pull requests Successful merges: - rust-lang#125070 (Panic if `PathBuf::set_extension` would add a path separator) - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125413 (drop region constraints for ambiguous goals) - rust-lang#125433 (A small diagnostic improvement for dropping_copy_types) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 8 pull requests Successful merges: - rust-lang#125070 (Panic if `PathBuf::set_extension` would add a path separator) - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125413 (drop region constraints for ambiguous goals) - rust-lang#125433 (A small diagnostic improvement for dropping_copy_types) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) r? `@ghost` `@rustbot` modify labels: rollup
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
Rollup of 7 pull requests Successful merges: - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125433 (A small diagnostic improvement for dropping_copy_types) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) - rust-lang#125546 (Try to not reinstall tools in mingw CI) r? `@ghost` `@rustbot` modify labels: rollup
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125413 (drop region constraints for ambiguous goals) - rust-lang#125433 (A small diagnostic improvement for dropping_copy_types) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) - rust-lang#125559 (Simplify the `unchecked_sh[lr]` ub-checks a bit) r? `@ghost` `@rustbot` modify labels: rollup
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125433 (A small diagnostic improvement for dropping_copy_types) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) - rust-lang#125559 (Simplify the `unchecked_sh[lr]` ub-checks a bit) r? `@ghost` `@rustbot` modify labels: rollup
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125473 (fix(opt-dist): respect existing config.toml) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125530 (cleanup dependence of `ExtCtxt` in transcribe when macro expansion) - rust-lang#125544 (Also mention my-self for other check-cfg docs changes) - rust-lang#125559 (Simplify the `unchecked_sh[lr]` ub-checks a bit) r? `@ghost` `@rustbot` modify labels: rollup
Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
💔 Test failed - checks-actions |
A job failed! Check out the build log: (web) (plain) Click to see the possible cause of the failure (guessed by this bot)
|
skill issue |
…iaskrgr Rollup of 6 pull requests Successful merges: - rust-lang#125307 (tidy: stop special-casing tests/ui entry limit) - rust-lang#125375 (Create a triagebot ping group for Rust for Linux) - rust-lang#125473 (fix(opt-dist): respect existing config.toml) - rust-lang#125508 (Stop SRoA'ing `DynMetadata` in MIR) - rust-lang#125561 (Stabilize `slice_flatten`) - rust-lang#125571 (f32: use constants instead of reassigning a dummy value as PI) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#125508 - scottmcm:fix-125506, r=Nilstrieb Stop SRoA'ing `DynMetadata` in MIR Fixes rust-lang#125506
Fixes #125506