apply noundef explicitly in all cases instead of relying on dereferenceable implying it

This commit is contained in:
Erik Desjardins 2022-02-06 21:11:11 -05:00
parent ced947fc12
commit 75ed7def5d
3 changed files with 14 additions and 18 deletions

View file

@ -69,9 +69,7 @@ impl ArgAttributesExt for ArgAttributes {
} else {
llvm::LLVMRustAddDereferenceableOrNullAttr(llfn, idx.as_uint(), deref);
}
// dereferenceable implies nonnull noundef; dereferenceable_or_null implies noundef
regular -= ArgAttribute::NonNull;
regular -= ArgAttribute::NoUndef;
}
if let Some(align) = self.pointee_align {
llvm::LLVMRustAddAlignmentAttr(llfn, idx.as_uint(), align.bytes() as u32);
@ -111,9 +109,7 @@ impl ArgAttributesExt for ArgAttributes {
deref,
);
}
// dereferenceable implies nonnull noundef; dereferenceable_or_null implies noundef
regular -= ArgAttribute::NonNull;
regular -= ArgAttribute::NoUndef;
}
if let Some(align) = self.pointee_align {
llvm::LLVMRustAddAlignmentCallSiteAttr(