mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
Add a dereferenceable attribute
This attribute indicates that the parameter or return pointer is dereferenceable. Practically speaking, loads from such a pointer within the associated byte range are safe to speculatively execute. Such pointer parameters are common in source languages (C++ references, for example). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213385 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -2086,7 +2086,7 @@ bool llvm::isKnownNonNull(const Value *V, const TargetLibraryInfo *TLI) {
|
||||
return !GV->hasExternalWeakLinkage();
|
||||
|
||||
if (ImmutableCallSite CS = V)
|
||||
if (CS.paramHasAttr(0, Attribute::NonNull))
|
||||
if (CS.isReturnNonNull())
|
||||
return true;
|
||||
|
||||
// operator new never returns null.
|
||||
|
Reference in New Issue
Block a user