motiejus/zig

fork of https://codeberg.org/ziglang/zig
git clone https://git.jakstys.lt/motiejus/zig.git
Log | Tree | Refs | README | LICENSE

commit aa7b32d78189a66bb1fb62fd9735be5d15651d5b (tree)
parent 6b6e336e07308fd23f3061b5be11407956b2a460
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Tue,  1 Jul 2025 03:41:52 +0200

llvm: Fix alignment of by-ref ptr_elem_val and slice_elem_val

Diffstat:
Msrc/codegen/llvm.zig | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig @@ -6831,8 +6831,8 @@ pub const FuncGen = struct { self.maybeMarkAllowZeroAccess(slice_ty.ptrInfo(zcu)); - const elem_alignment = elem_ty.abiAlignment(zcu).toLlvm(); - return self.loadByRef(ptr, elem_ty, elem_alignment, if (slice_ty.isVolatilePtr(zcu)) .@"volatile" else .normal); + const slice_align = (slice_ty.ptrAlignment(zcu).min(elem_ty.abiAlignment(zcu))).toLlvm(); + return self.loadByRef(ptr, elem_ty, slice_align, if (slice_ty.isVolatilePtr(zcu)) .@"volatile" else .normal); } self.maybeMarkAllowZeroAccess(slice_ty.ptrInfo(zcu)); @@ -6909,8 +6909,8 @@ pub const FuncGen = struct { self.maybeMarkAllowZeroAccess(ptr_ty.ptrInfo(zcu)); - const elem_alignment = elem_ty.abiAlignment(zcu).toLlvm(); - return self.loadByRef(ptr, elem_ty, elem_alignment, if (ptr_ty.isVolatilePtr(zcu)) .@"volatile" else .normal); + const ptr_align = (ptr_ty.ptrAlignment(zcu).min(elem_ty.abiAlignment(zcu))).toLlvm(); + return self.loadByRef(ptr, elem_ty, ptr_align, if (ptr_ty.isVolatilePtr(zcu)) .@"volatile" else .normal); } self.maybeMarkAllowZeroAccess(ptr_ty.ptrInfo(zcu));