Fix duplicate arcinner_layout_for_value_layout calls when using the uninit Arc constructors#111634
Conversation
|
r? @thomcc (rustbot has picked a reviewer for you, use r? to override) |
|
Hey! It looks like you've submitted a new PR for the library teams! If this PR contains changes to any Examples of
|
|
This basically looks fine to me. There could be a perf impact, but I doubt we use this much in the compiler, so I don't feel compelled to do a perf run first. @bors r+ rollup=never |
|
☀️ Test successful - checks-actions |
1 similar comment
|
☀️ Test successful - checks-actions |
|
Finished benchmarking commit (2fe47b9): 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.
CyclesThis benchmark run did not return any relevant results for this metric. 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: 643.403s -> 643.016s (-0.06%) |
What this fixes is the duplicate calls to
arcinner_layout_for_value_layoutseen here: https://godbolt.org/z/jr5GxozhjThe issue was discovered alongside #111603 but is otherwise unrelated to the duplicate
allocas, which remain unsolved. Everything I tried to solve said main issue has failed.As for the duplicate layout calculations, I also tried slapping
#[inline]and#[inline(always)]on everything in sight but the only thing that worked in the end is to dedup the calls by hand.