authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-10-31 09:00:46+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-12 17:07:49+02:00
loge9ae9a5fc45a6ee85d988372a4d150032f52ef4c
tree9bcaf23acc82aa68b77121b304df17a0245bbe4a
parente95e7651ecd988d4955a46c7adfea29c0996c62f
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

llvm: Don't set nonnull attribute on allowzero slices.


1 files changed, 2 insertions(+), 2 deletions(-)

src/codegen/llvm.zig+2-2
...@@ -1341,7 +1341,7 @@ pub const Object = struct {...@@ -1341,7 +1341,7 @@ pub const Object = struct {
1341 try attributes.addParamAttr(llvm_arg_i, .@"noalias", &o.builder);1341 try attributes.addParamAttr(llvm_arg_i, .@"noalias", &o.builder);
1342 }1342 }
1343 }1343 }
1344 if (param_ty.zigTypeTag(zcu) != .optional) {1344 if (param_ty.zigTypeTag(zcu) != .optional and !ptr_info.flags.is_allowzero) {
1345 try attributes.addParamAttr(llvm_arg_i, .nonnull, &o.builder);1345 try attributes.addParamAttr(llvm_arg_i, .nonnull, &o.builder);
1346 }1346 }
1347 if (ptr_info.flags.is_const) {1347 if (ptr_info.flags.is_const) {
...@@ -5410,7 +5410,7 @@ pub const FuncGen = struct {...@@ -5410,7 +5410,7 @@ pub const FuncGen = struct {
5410 try attributes.addParamAttr(llvm_arg_i, .@"noalias", &o.builder);5410 try attributes.addParamAttr(llvm_arg_i, .@"noalias", &o.builder);
5411 }5411 }
5412 }5412 }
5413 if (param_ty.zigTypeTag(zcu) != .optional) {5413 if (param_ty.zigTypeTag(zcu) != .optional and !ptr_info.flags.is_allowzero) {
5414 try attributes.addParamAttr(llvm_arg_i, .nonnull, &o.builder);5414 try attributes.addParamAttr(llvm_arg_i, .nonnull, &o.builder);
5415 }5415 }
5416 if (ptr_info.flags.is_const) {5416 if (ptr_info.flags.is_const) {