Avoid unneeded work for storage removal in non-opt builds in CopyProp and GVN#155491
Avoid unneeded work for storage removal in non-opt builds in CopyProp and GVN#155491ohadravid wants to merge 1 commit intorust-lang:mainfrom
Conversation
|
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
544ea18 to
bb8798b
Compare
| for (local, &head) in ssa.copy_classes().iter_enumerated() { | ||
| if local != head { | ||
| any_replacement = true; | ||
| storage_to_remove.insert(head); |
There was a problem hiding this comment.
Before, Replacer used unified to check which locals require storage removal - so this is fine
https://github.com/rust-lang/rust/pull/142531/changes#diff-0004c9822ecc282c9d6f6bcec22d1b50d49c6165e8093c1dbd2607086278dc19L96
bb8798b to
2389a3a
Compare
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
… r=<try> Avoid unneeded work for storage removal in non-opt builds in CopyProp and GVN
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (48af6e0): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. @bors rollup=never Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary 4.2%, secondary -1.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.6%, secondary 6.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 492.524s -> 492.577s (0.01%) |
Fix performance regression introduced in #142531 (rust-timer comment) by only allocating local sets for the storage accounting when
tcx.sess.emit_lifetime_markers().r? saethlin