diff options
| author | Nikita Popov <npopov@redhat.com> | 2024-01-02 14:41:08 +0100 |
|---|---|---|
| committer | Nikita Popov <npopov@redhat.com> | 2024-01-02 15:03:14 +0100 |
| commit | 8e64fc94d895b570e80db8edc3e3ef265e19db8c (patch) | |
| tree | e3931508de0d57a4a5c85eed98a618252779029b /compiler/rustc_codegen_ssa/src/mir | |
| parent | c2fd26a115645c92537719b1a04270e1ba727cbf (diff) | |
| download | rust-8e64fc94d895b570e80db8edc3e3ef265e19db8c.tar.gz rust-8e64fc94d895b570e80db8edc3e3ef265e19db8c.zip | |
Address review comments
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/mir')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/place.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/place.rs b/compiler/rustc_codegen_ssa/src/mir/place.rs index 40d6c7eb50c..73c08e2ca61 100644 --- a/compiler/rustc_codegen_ssa/src/mir/place.rs +++ b/compiler/rustc_codegen_ssa/src/mir/place.rs @@ -108,19 +108,17 @@ impl<'a, 'tcx, V: CodegenObject> PlaceRef<'tcx, V> { // Also handles the first field of Scalar, ScalarPair, and Vector layouts. self.llval } - Abi::ScalarPair(a, b) - if offset == a.size(bx.cx()).align_to(b.align(bx.cx()).abi) => - { - // Offset matches second field. + Abi::ScalarPair(..) => { + // FIXME(nikic): Generate this for all ABIs. bx.inbounds_gep(bx.type_i8(), self.llval, &[bx.const_usize(offset.bytes())]) } - Abi::Scalar(_) | Abi::ScalarPair(..) | Abi::Vector { .. } if field.is_zst() => { + Abi::Scalar(_) | Abi::Vector { .. } if field.is_zst() => { // ZST fields (even some that require alignment) are not included in Scalar, // ScalarPair, and Vector layouts, so manually offset the pointer. bx.gep(bx.cx().type_i8(), self.llval, &[bx.const_usize(offset.bytes())]) } - Abi::Scalar(_) | Abi::ScalarPair(..) => { - // All fields of Scalar and ScalarPair layouts must have been handled by this point. + Abi::Scalar(_) => { + // All fields of Scalar layouts must have been handled by this point. // Vector layouts have additional fields for each element of the vector, so don't panic in that case. bug!( "offset of non-ZST field `{:?}` does not match layout `{:#?}`", |
