Inspired by <https://github.com/rust-lang/rust/pull/138759#discussion_r2156375342> where I noticed that we were nearly at this point, plus the comments I was writing in 143410 that reminded me a type-dependent `true` is fine. This PR splits the `OperandRef::builder` logic out to a separate type, with the updates needed to handle SIMD as well. In doing so, that makes the existing `Aggregate` path in `codegen_rvalue_operand` capable of handing SIMD values just fine. As a result, we no longer need to do layout calculations for aggregate result types when running the analysis to determine which things can be SSA in codegen. |
||
|---|---|---|
| .. | ||
| aggregate-simd.rs | ||
| extract-insert-dyn.rs | ||
| packed-simd-alignment.rs | ||
| packed-simd.rs | ||
| project-to-simd-array-field.rs | ||
| simd-wide-sum.rs | ||
| simd_arith_offset.rs | ||
| swap-simd-types.rs | ||
| unpadded-simd.rs | ||