-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Stop SRoA'ing DynMetadata
in MIR
#125508
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