aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorKazu Hirata <kazu@google.com>2022-12-02 20:05:20 -0800
committerKazu Hirata <kazu@google.com>2022-12-02 20:05:20 -0800
commite842c06c2d52ae1d60db7ed528ea3f4215a0aad6 (patch)
tree2fa4d17e05b9dec6d22fddb83293ebb43b0dfc7d /llvm/lib
parent19aff0f37dd68ee51e78b764c0ce629ae73d1eef (diff)
downloadllvm-e842c06c2d52ae1d60db7ed528ea3f4215a0aad6.zip
llvm-e842c06c2d52ae1d60db7ed528ea3f4215a0aad6.tar.gz
llvm-e842c06c2d52ae1d60db7ed528ea3f4215a0aad6.tar.bz2
[IR] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/IR/AsmWriter.cpp3
-rw-r--r--llvm/lib/IR/Attributes.cpp8
-rw-r--r--llvm/lib/IR/AutoUpgrade.cpp2
-rw-r--r--llvm/lib/IR/BasicBlock.cpp2
-rw-r--r--llvm/lib/IR/ConstantFold.cpp4
-rw-r--r--llvm/lib/IR/ConstantRange.cpp4
-rw-r--r--llvm/lib/IR/Constants.cpp2
-rw-r--r--llvm/lib/IR/ConstantsContext.h4
-rw-r--r--llvm/lib/IR/DIBuilder.cpp33
-rw-r--r--llvm/lib/IR/DataLayout.cpp6
-rw-r--r--llvm/lib/IR/DebugInfo.cpp14
-rw-r--r--llvm/lib/IR/DebugInfoMetadata.cpp22
-rw-r--r--llvm/lib/IR/FPEnv.cpp4
-rw-r--r--llvm/lib/IR/Function.cpp10
-rw-r--r--llvm/lib/IR/Globals.cpp4
-rw-r--r--llvm/lib/IR/IRBuilder.cpp12
-rw-r--r--llvm/lib/IR/Instructions.cpp15
-rw-r--r--llvm/lib/IR/IntrinsicInst.cpp18
-rw-r--r--llvm/lib/IR/LLVMRemarkStreamer.cpp2
-rw-r--r--llvm/lib/IR/MDBuilder.cpp2
-rw-r--r--llvm/lib/IR/Metadata.cpp4
-rw-r--r--llvm/lib/IR/Module.cpp4
-rw-r--r--llvm/lib/IR/Operator.cpp2
-rw-r--r--llvm/lib/IR/PseudoProbe.cpp4
-rw-r--r--llvm/lib/IR/Type.cpp4
25 files changed, 97 insertions, 92 deletions
diff --git a/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp
index 707c939..e67970a 100644
--- a/llvm/lib/IR/AsmWriter.cpp
+++ b/llvm/lib/IR/AsmWriter.cpp
@@ -1675,7 +1675,8 @@ struct MDFieldPrinter {
void printInt(StringRef Name, IntTy Int, bool ShouldSkipZero = true);
void printAPInt(StringRef Name, const APInt &Int, bool IsUnsigned,
bool ShouldSkipZero);
- void printBool(StringRef Name, bool Value, Optional<bool> Default = None);
+ void printBool(StringRef Name, bool Value,
+ Optional<bool> Default = std::nullopt);
void printDIFlags(StringRef Name, DINode::DIFlags Flags);
void printDISPFlags(StringRef Name, DISubprogram::DISPFlags Flags);
template <class IntTy, class Stringifier>
diff --git a/llvm/lib/IR/Attributes.cpp b/llvm/lib/IR/Attributes.cpp
index e4dee3f..2e18398 100644
--- a/llvm/lib/IR/Attributes.cpp
+++ b/llvm/lib/IR/Attributes.cpp
@@ -774,11 +774,11 @@ Attribute AttributeSet::getAttribute(StringRef Kind) const {
}
MaybeAlign AttributeSet::getAlignment() const {
- return SetNode ? SetNode->getAlignment() : None;
+ return SetNode ? SetNode->getAlignment() : std::nullopt;
}
MaybeAlign AttributeSet::getStackAlignment() const {
- return SetNode ? SetNode->getStackAlignment() : None;
+ return SetNode ? SetNode->getStackAlignment() : std::nullopt;
}
uint64_t AttributeSet::getDereferenceableBytes() const {
@@ -960,13 +960,13 @@ Attribute AttributeSetNode::getAttribute(StringRef Kind) const {
MaybeAlign AttributeSetNode::getAlignment() const {
if (auto A = findEnumAttribute(Attribute::Alignment))
return A->getAlignment();
- return None;
+ return std::nullopt;
}
MaybeAlign AttributeSetNode::getStackAlignment() const {
if (auto A = findEnumAttribute(Attribute::StackAlignment))
return A->getStackAlignment();
- return None;
+ return std::nullopt;
}
Type *AttributeSetNode::getAttributeType(Attribute::AttrKind Kind) const {
diff --git a/llvm/lib/IR/AutoUpgrade.cpp b/llvm/lib/IR/AutoUpgrade.cpp
index 9150b52..b5c7818 100644
--- a/llvm/lib/IR/AutoUpgrade.cpp
+++ b/llvm/lib/IR/AutoUpgrade.cpp
@@ -1133,7 +1133,7 @@ static bool UpgradeIntrinsicFunction1(Function *F, Function *&NewFn) {
// Remangle our intrinsic since we upgrade the mangling
auto Result = llvm::Intrinsic::remangleIntrinsicFunction(F);
- if (Result != None) {
+ if (Result != std::nullopt) {
NewFn = *Result;
return true;
}
diff --git a/llvm/lib/IR/BasicBlock.cpp b/llvm/lib/IR/BasicBlock.cpp
index 68de6c4..7a30005 100644
--- a/llvm/lib/IR/BasicBlock.cpp
+++ b/llvm/lib/IR/BasicBlock.cpp
@@ -529,7 +529,7 @@ Optional<uint64_t> BasicBlock::getIrrLoopHeaderWeight() const {
return Optional<uint64_t>(CI->getValue().getZExtValue());
}
}
- return None;
+ return std::nullopt;
}
BasicBlock::iterator llvm::skipDebugIntrinsics(BasicBlock::iterator It) {
diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp
index 74b7d19..1815bba 100644
--- a/llvm/lib/IR/ConstantFold.cpp
+++ b/llvm/lib/IR/ConstantFold.cpp
@@ -1073,7 +1073,7 @@ Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, Constant *C1,
} else if (isa<Function>(GV)) {
// Without a datalayout we have to assume the worst case: that the
// function pointer isn't aligned at all.
- GVAlign = llvm::None;
+ GVAlign = std::nullopt;
} else if (isa<GlobalVariable>(GV)) {
GVAlign = cast<GlobalVariable>(GV)->getAlign();
}
@@ -2024,7 +2024,7 @@ static Constant *foldGEPOfGEP(GEPOperator *GEP, Type *PointeeTy, bool InBounds,
// outer GEP, any inbounds attribute on that index is invalidated.
Optional<unsigned> IRIndex = GEP->getInRangeIndex();
if (IRIndex && *IRIndex == GEP->getNumIndices() - 1)
- IRIndex = None;
+ IRIndex = std::nullopt;
return ConstantExpr::getGetElementPtr(
GEP->getSourceElementType(), cast<Constant>(GEP->getPointerOperand()),
diff --git a/llvm/lib/IR/ConstantRange.cpp b/llvm/lib/IR/ConstantRange.cpp
index 9d23910..d443f2c 100644
--- a/llvm/lib/IR/ConstantRange.cpp
+++ b/llvm/lib/IR/ConstantRange.cpp
@@ -705,7 +705,7 @@ ConstantRange::exactIntersectWith(const ConstantRange &CR) const {
ConstantRange Result = intersectWith(CR);
if (Result == inverse().unionWith(CR.inverse()).inverse())
return Result;
- return None;
+ return std::nullopt;
}
Optional<ConstantRange>
@@ -714,7 +714,7 @@ ConstantRange::exactUnionWith(const ConstantRange &CR) const {
ConstantRange Result = unionWith(CR);
if (Result == inverse().intersectWith(CR.inverse()).inverse())
return Result;
- return None;
+ return std::nullopt;
}
ConstantRange ConstantRange::castOp(Instruction::CastOps CastOp,
diff --git a/llvm/lib/IR/Constants.cpp b/llvm/lib/IR/Constants.cpp
index d6a87c8..adbc158 100644
--- a/llvm/lib/IR/Constants.cpp
+++ b/llvm/lib/IR/Constants.cpp
@@ -2487,7 +2487,7 @@ Constant *ConstantExpr::getGetElementPtr(Type *Ty, Constant *C,
if (InRangeIndex && *InRangeIndex < 63)
SubClassOptionalData |= (*InRangeIndex + 1) << 1;
const ConstantExprKeyType Key(Instruction::GetElementPtr, ArgVec, 0,
- SubClassOptionalData, None, Ty);
+ SubClassOptionalData, std::nullopt, Ty);
LLVMContextImpl *pImpl = C->getContext().pImpl;
return pImpl->ExprConstants.getOrCreate(ReqTy, Key);
diff --git a/llvm/lib/IR/ConstantsContext.h b/llvm/lib/IR/ConstantsContext.h
index c95f7a1..0363ea1 100644
--- a/llvm/lib/IR/ConstantsContext.h
+++ b/llvm/lib/IR/ConstantsContext.h
@@ -441,7 +441,7 @@ private:
static ArrayRef<int> getShuffleMaskIfValid(const ConstantExpr *CE) {
if (CE->getOpcode() == Instruction::ShuffleVector)
return CE->getShuffleMask();
- return None;
+ return std::nullopt;
}
static Type *getSourceElementTypeIfValid(const ConstantExpr *CE) {
@@ -454,7 +454,7 @@ public:
ConstantExprKeyType(unsigned Opcode, ArrayRef<Constant *> Ops,
unsigned short SubclassData = 0,
unsigned short SubclassOptionalData = 0,
- ArrayRef<int> ShuffleMask = None,
+ ArrayRef<int> ShuffleMask = std::nullopt,
Type *ExplicitTy = nullptr)
: Opcode(Opcode), SubclassOptionalData(SubclassOptionalData),
SubclassData(SubclassData), Ops(Ops), ShuffleMask(ShuffleMask),
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp
index 989b554..7300693 100644
--- a/llvm/lib/IR/DIBuilder.cpp
+++ b/llvm/lib/IR/DIBuilder.cpp
@@ -312,7 +312,7 @@ DIStringType *DIBuilder::createStringType(StringRef Name,
DIDerivedType *DIBuilder::createQualifiedType(unsigned Tag, DIType *FromTy) {
return DIDerivedType::get(VMContext, Tag, "", nullptr, 0, nullptr, FromTy, 0,
- 0, 0, None, DINode::FlagZero);
+ 0, 0, std::nullopt, DINode::FlagZero);
}
DIDerivedType *
@@ -334,7 +334,7 @@ DIDerivedType *DIBuilder::createMemberPointerType(DIType *PointeeTy,
DINode::DIFlags Flags) {
return DIDerivedType::get(VMContext, dwarf::DW_TAG_ptr_to_member_type, "",
nullptr, 0, nullptr, PointeeTy, SizeInBits,
- AlignInBits, 0, None, Flags, Base);
+ AlignInBits, 0, std::nullopt, Flags, Base);
}
DIDerivedType *
@@ -354,14 +354,15 @@ DIDerivedType *DIBuilder::createTypedef(DIType *Ty, StringRef Name,
DINodeArray Annotations) {
return DIDerivedType::get(VMContext, dwarf::DW_TAG_typedef, Name, File,
LineNo, getNonCompileUnitScope(Context), Ty, 0,
- AlignInBits, 0, None, Flags, nullptr, Annotations);
+ AlignInBits, 0, std::nullopt, Flags, nullptr,
+ Annotations);
}
DIDerivedType *DIBuilder::createFriend(DIType *Ty, DIType *FriendTy) {
assert(Ty && "Invalid type!");
assert(FriendTy && "Invalid friend type!");
return DIDerivedType::get(VMContext, dwarf::DW_TAG_friend, "", nullptr, 0, Ty,
- FriendTy, 0, 0, 0, None, DINode::FlagZero);
+ FriendTy, 0, 0, 0, std::nullopt, DINode::FlagZero);
}
DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy,
@@ -372,8 +373,8 @@ DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy,
Metadata *ExtraData = ConstantAsMetadata::get(
ConstantInt::get(IntegerType::get(VMContext, 32), VBPtrOffset));
return DIDerivedType::get(VMContext, dwarf::DW_TAG_inheritance, "", nullptr,
- 0, Ty, BaseTy, 0, 0, BaseOffset, None, Flags,
- ExtraData);
+ 0, Ty, BaseTy, 0, 0, BaseOffset, std::nullopt,
+ Flags, ExtraData);
}
DIDerivedType *DIBuilder::createMemberType(
@@ -382,8 +383,8 @@ DIDerivedType *DIBuilder::createMemberType(
DINode::DIFlags Flags, DIType *Ty, DINodeArray Annotations) {
return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
LineNumber, getNonCompileUnitScope(Scope), Ty,
- SizeInBits, AlignInBits, OffsetInBits, None, Flags,
- nullptr, Annotations);
+ SizeInBits, AlignInBits, OffsetInBits, std::nullopt,
+ Flags, nullptr, Annotations);
}
static ConstantAsMetadata *getConstantOrNull(Constant *C) {
@@ -398,8 +399,8 @@ DIDerivedType *DIBuilder::createVariantMemberType(
Constant *Discriminant, DINode::DIFlags Flags, DIType *Ty) {
return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
LineNumber, getNonCompileUnitScope(Scope), Ty,
- SizeInBits, AlignInBits, OffsetInBits, None, Flags,
- getConstantOrNull(Discriminant));
+ SizeInBits, AlignInBits, OffsetInBits, std::nullopt,
+ Flags, getConstantOrNull(Discriminant));
}
DIDerivedType *DIBuilder::createBitFieldMemberType(
@@ -410,7 +411,7 @@ DIDerivedType *DIBuilder::createBitFieldMemberType(
return DIDerivedType::get(
VMContext, dwarf::DW_TAG_member, Name, File, LineNumber,
getNonCompileUnitScope(Scope), Ty, SizeInBits, /*AlignInBits=*/0,
- OffsetInBits, None, Flags,
+ OffsetInBits, std::nullopt, Flags,
ConstantAsMetadata::get(ConstantInt::get(IntegerType::get(VMContext, 64),
StorageOffsetInBits)),
Annotations);
@@ -424,7 +425,7 @@ DIBuilder::createStaticMemberType(DIScope *Scope, StringRef Name, DIFile *File,
Flags |= DINode::FlagStaticMember;
return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
LineNumber, getNonCompileUnitScope(Scope), Ty, 0,
- AlignInBits, 0, None, Flags,
+ AlignInBits, 0, std::nullopt, Flags,
getConstantOrNull(Val));
}
@@ -435,8 +436,8 @@ DIBuilder::createObjCIVar(StringRef Name, DIFile *File, unsigned LineNumber,
DIType *Ty, MDNode *PropertyNode) {
return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File,
LineNumber, getNonCompileUnitScope(File), Ty,
- SizeInBits, AlignInBits, OffsetInBits, None, Flags,
- PropertyNode);
+ SizeInBits, AlignInBits, OffsetInBits, std::nullopt,
+ Flags, PropertyNode);
}
DIObjCProperty *
@@ -570,7 +571,7 @@ DIDerivedType *DIBuilder::createSetType(DIScope *Scope, StringRef Name,
auto *R =
DIDerivedType::get(VMContext, dwarf::DW_TAG_set_type, Name, File, LineNo,
getNonCompileUnitScope(Scope), Ty, SizeInBits,
- AlignInBits, 0, None, DINode::FlagZero);
+ AlignInBits, 0, std::nullopt, DINode::FlagZero);
trackIfUnresolved(R);
return R;
}
@@ -855,7 +856,7 @@ DISubprogram *DIBuilder::createFunction(
/*IsDistinct=*/IsDefinition, VMContext, getNonCompileUnitScope(Context),
Name, LinkageName, File, LineNo, Ty, ScopeLine, nullptr, 0, 0, Flags,
SPFlags, IsDefinition ? CUNode : nullptr, TParams, Decl,
- MDTuple::getTemporary(VMContext, None).release(), ThrownTypes,
+ MDTuple::getTemporary(VMContext, std::nullopt).release(), ThrownTypes,
Annotations, TargetFuncName);
if (IsDefinition)
diff --git a/llvm/lib/IR/DataLayout.cpp b/llvm/lib/IR/DataLayout.cpp
index 96f55cf..e451234 100644
--- a/llvm/lib/IR/DataLayout.cpp
+++ b/llvm/lib/IR/DataLayout.cpp
@@ -937,7 +937,7 @@ Optional<APInt> DataLayout::getGEPIndexForOffset(Type *&ElemTy,
unsigned ElemSizeInBits = getTypeSizeInBits(ElemTy).getFixedSize();
// GEPs over non-multiple of 8 size vector elements are invalid.
if (ElemSizeInBits % 8 != 0)
- return None;
+ return std::nullopt;
return getElementIndex(TypeSize::Fixed(ElemSizeInBits / 8), Offset);
}
@@ -946,7 +946,7 @@ Optional<APInt> DataLayout::getGEPIndexForOffset(Type *&ElemTy,
const StructLayout *SL = getStructLayout(STy);
uint64_t IntOffset = Offset.getZExtValue();
if (IntOffset >= SL->getSizeInBytes())
- return None;
+ return std::nullopt;
unsigned Index = SL->getElementContainingOffset(IntOffset);
Offset -= SL->getElementOffset(Index);
@@ -955,7 +955,7 @@ Optional<APInt> DataLayout::getGEPIndexForOffset(Type *&ElemTy,
}
// Non-aggregate type.
- return None;
+ return std::nullopt;
}
SmallVector<APInt> DataLayout::getGEPIndicesForOffset(Type *&ElemTy,
diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp
index d02154f..cbbdcaf 100644
--- a/llvm/lib/IR/DebugInfo.cpp
+++ b/llvm/lib/IR/DebugInfo.cpp
@@ -1755,10 +1755,10 @@ static Optional<AssignmentInfo> getAssignmentInfoImpl(const DataLayout &DL,
uint64_t OffsetInBytes = GEPOffset.getLimitedValue();
// Check for overflow.
if (OffsetInBytes == UINT64_MAX)
- return None;
+ return std::nullopt;
if (const auto *Alloca = dyn_cast<AllocaInst>(Base))
return AssignmentInfo(DL, Alloca, OffsetInBytes * 8, SizeInBits);
- return None;
+ return std::nullopt;
}
Optional<AssignmentInfo> at::getAssignmentInfo(const DataLayout &DL,
@@ -1768,7 +1768,7 @@ Optional<AssignmentInfo> at::getAssignmentInfo(const DataLayout &DL,
auto *ConstLengthInBytes = dyn_cast<ConstantInt>(I->getLength());
if (!ConstLengthInBytes)
// We can't use a non-const size, bail.
- return None;
+ return std::nullopt;
uint64_t SizeInBits = 8 * ConstLengthInBytes->getZExtValue();
return getAssignmentInfoImpl(DL, StoreDest, SizeInBits);
}
@@ -1793,14 +1793,16 @@ static CallInst *emitDbgAssign(AssignmentInfo Info, Value *Val, Value *Dest,
assert(ID && "Store instruction must have DIAssignID metadata");
(void)ID;
- DIExpression *Expr = DIExpression::get(StoreLikeInst.getContext(), None);
+ DIExpression *Expr =
+ DIExpression::get(StoreLikeInst.getContext(), std::nullopt);
if (!Info.StoreToWholeAlloca) {
auto R = DIExpression::createFragmentExpression(Expr, Info.OffsetInBits,
Info.SizeInBits);
assert(R.has_value() && "failed to create fragment expression");
Expr = R.value();
}
- DIExpression *AddrExpr = DIExpression::get(StoreLikeInst.getContext(), None);
+ DIExpression *AddrExpr =
+ DIExpression::get(StoreLikeInst.getContext(), std::nullopt);
return DIB.insertDbgAssign(&StoreLikeInst, Val, VarRec.Var, Expr, Dest,
AddrExpr, VarRec.DL);
}
@@ -1827,7 +1829,7 @@ void at::trackAssignments(Function::iterator Start, Function::iterator End,
for (auto BBI = Start; BBI != End; ++BBI) {
for (Instruction &I : *BBI) {
- Optional<AssignmentInfo> Info = None;
+ Optional<AssignmentInfo> Info = std::nullopt;
Value *ValueComponent = nullptr;
Value *DestComponent = nullptr;
if (auto *AI = dyn_cast<AllocaInst>(&I)) {
diff --git a/llvm/lib/IR/DebugInfoMetadata.cpp b/llvm/lib/IR/DebugInfoMetadata.cpp
index 5483595..4db2b69 100644
--- a/llvm/lib/IR/DebugInfoMetadata.cpp
+++ b/llvm/lib/IR/DebugInfoMetadata.cpp
@@ -203,7 +203,7 @@ Optional<unsigned> DILocation::encodeDiscriminator(unsigned BD, unsigned DF,
decodeDiscriminator(Ret, TBD, TDF, TCI);
if (TBD == BD && TDF == DF && TCI == CI)
return Ret;
- return None;
+ return std::nullopt;
}
void DILocation::decodeDiscriminator(unsigned D, unsigned &BD, unsigned &DF,
@@ -610,7 +610,7 @@ Optional<DIBasicType::Signedness> DIBasicType::getSignedness() const {
case dwarf::DW_ATE_unsigned_char:
return Signedness::Unsigned;
default:
- return None;
+ return std::nullopt;
}
}
@@ -824,7 +824,7 @@ Optional<DIFile::ChecksumKind> DIFile::getChecksumKind(StringRef CSKindStr) {
.Case("CSK_MD5", DIFile::CSK_MD5)
.Case("CSK_SHA1", DIFile::CSK_SHA1)
.Case("CSK_SHA256", DIFile::CSK_SHA256)
- .Default(None);
+ .Default(std::nullopt);
}
DIFile *DIFile::getImpl(LLVMContext &Context, MDString *Filename,
@@ -896,7 +896,7 @@ DICompileUnit::getEmissionKind(StringRef Str) {
.Case("FullDebug", FullDebug)
.Case("LineTablesOnly", LineTablesOnly)
.Case("DebugDirectivesOnly", DebugDirectivesOnly)
- .Default(None);
+ .Default(std::nullopt);
}
Optional<DICompileUnit::DebugNameTableKind>
@@ -905,7 +905,7 @@ DICompileUnit::getNameTableKind(StringRef Str) {
.Case("Default", DebugNameTableKind::Default)
.Case("GNU", DebugNameTableKind::GNU)
.Case("None", DebugNameTableKind::None)
- .Default(None);
+ .Default(std::nullopt);
}
const char *DICompileUnit::emissionKindString(DebugEmissionKind EK) {
@@ -1224,7 +1224,7 @@ Optional<uint64_t> DIVariable::getSizeInBits() const {
}
// Fail gracefully.
- return None;
+ return std::nullopt;
}
DILabel::DILabel(LLVMContext &C, StorageType Storage, unsigned Line,
@@ -1415,7 +1415,7 @@ DIExpression::getFragmentInfo(expr_op_iterator Start, expr_op_iterator End) {
DIExpression::FragmentInfo Info = {I->getArg(1), I->getArg(0)};
return Info;
}
- return None;
+ return std::nullopt;
}
void DIExpression::appendOffset(SmallVectorImpl<uint64_t> &Ops,
@@ -1597,7 +1597,7 @@ DIExpression *DIExpression::append(const DIExpression *Expr,
NewOps.append(Ops.begin(), Ops.end());
// Ensure that the new opcodes are only appended once.
- Ops = None;
+ Ops = std::nullopt;
}
Op.appendToVector(NewOps);
}
@@ -1679,7 +1679,7 @@ Optional<DIExpression *> DIExpression::createFragmentExpression(
case dwarf::DW_OP_stack_value:
// Bail if this expression computes a value that cannot be split.
if (!CanSplitValue)
- return None;
+ return std::nullopt;
break;
case dwarf::DW_OP_LLVM_fragment: {
// Make the new offset point into the existing fragment.
@@ -1765,7 +1765,7 @@ DIExpression::isConstant() const {
getNumElements() != 6) ||
(getElement(0) != dwarf::DW_OP_consts &&
getElement(0) != dwarf::DW_OP_constu))
- return None;
+ return std::nullopt;
if (getNumElements() == 2 && getElement(0) == dwarf::DW_OP_consts)
return SignedOrUnsignedConstant::SignedConstant;
@@ -1773,7 +1773,7 @@ DIExpression::isConstant() const {
if ((getNumElements() == 3 && getElement(2) != dwarf::DW_OP_stack_value) ||
(getNumElements() == 6 && (getElement(2) != dwarf::DW_OP_stack_value ||
getElement(3) != dwarf::DW_OP_LLVM_fragment)))
- return None;
+ return std::nullopt;
return getElement(0) == dwarf::DW_OP_constu
? SignedOrUnsignedConstant::UnsignedConstant
: SignedOrUnsignedConstant::SignedConstant;
diff --git a/llvm/lib/IR/FPEnv.cpp b/llvm/lib/IR/FPEnv.cpp
index 4de43f4..1e01a79 100644
--- a/llvm/lib/IR/FPEnv.cpp
+++ b/llvm/lib/IR/FPEnv.cpp
@@ -30,7 +30,7 @@ Optional<RoundingMode> convertStrToRoundingMode(StringRef RoundingArg) {
.Case("round.downward", RoundingMode::TowardNegative)
.Case("round.upward", RoundingMode::TowardPositive)
.Case("round.towardzero", RoundingMode::TowardZero)
- .Default(None);
+ .Default(std::nullopt);
}
Optional<StringRef> convertRoundingModeToStr(RoundingMode UseRounding) {
@@ -66,7 +66,7 @@ convertStrToExceptionBehavior(StringRef ExceptionArg) {
.Case("fpexcept.ignore", fp::ebIgnore)
.Case("fpexcept.maytrap", fp::ebMayTrap)
.Case("fpexcept.strict", fp::ebStrict)
- .Default(None);
+ .Default(std::nullopt);
}
Optional<StringRef>
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
index bb0fc27..51ef4d0 100644
--- a/llvm/lib/IR/Function.cpp
+++ b/llvm/lib/IR/Function.cpp
@@ -1846,14 +1846,14 @@ bool Intrinsic::getIntrinsicSignature(Function *F,
Optional<Function *> Intrinsic::remangleIntrinsicFunction(Function *F) {
SmallVector<Type *, 4> ArgTys;
if (!getIntrinsicSignature(F, ArgTys))
- return None;
+ return std::nullopt;
Intrinsic::ID ID = F->getIntrinsicID();
StringRef Name = F->getName();
std::string WantedName =
Intrinsic::getName(ID, ArgTys, F->getParent(), F->getFunctionType());
if (Name == WantedName)
- return None;
+ return std::nullopt;
Function *NewDecl = [&] {
if (auto *ExistingGV = F->getParent()->getNamedValue(WantedName)) {
@@ -2061,7 +2061,7 @@ Optional<ProfileCount> Function::getEntryCount(bool AllowSynthetic) const {
// A value of -1 is used for SamplePGO when there were no samples.
// Treat this the same as unknown.
if (Count == (uint64_t)-1)
- return None;
+ return std::nullopt;
return ProfileCount(Count, PCT_Real);
} else if (AllowSynthetic &&
MDS->getString().equals("synthetic_function_entry_count")) {
@@ -2070,7 +2070,7 @@ Optional<ProfileCount> Function::getEntryCount(bool AllowSynthetic) const {
return ProfileCount(Count, PCT_Synthetic);
}
}
- return None;
+ return std::nullopt;
}
DenseSet<GlobalValue::GUID> Function::getImportGUIDs() const {
@@ -2099,7 +2099,7 @@ Optional<StringRef> Function::getSectionPrefix() const {
"Metadata not match");
return cast<MDString>(MD->getOperand(1))->getString();
}
- return None;
+ return std::nullopt;
}
bool Function::nullPointerIsDefined() const {
diff --git a/llvm/lib/IR/Globals.cpp b/llvm/lib/IR/Globals.cpp
index 41b090a..7169ca2 100644
--- a/llvm/lib/IR/Globals.cpp
+++ b/llvm/lib/IR/Globals.cpp
@@ -373,11 +373,11 @@ bool GlobalValue::isAbsoluteSymbolRef() const {
Optional<ConstantRange> GlobalValue::getAbsoluteSymbolRange() const {
auto *GO = dyn_cast<GlobalObject>(this);
if (!GO)
- return None;
+ return std::nullopt;
MDNode *MD = GO->getMetadata(LLVMContext::MD_absolute_symbol);
if (!MD)
- return None;
+ return std::nullopt;
return getConstantRangeFromMetadata(*MD);
}
diff --git a/llvm/lib/IR/IRBuilder.cpp b/llvm/lib/IR/IRBuilder.cpp
index fcd7205..d0bf980 100644
--- a/llvm/lib/IR/IRBuilder.cpp
+++ b/llvm/lib/IR/IRBuilder.cpp
@@ -820,7 +820,7 @@ CallInst *IRBuilderBase::CreateGCStatepointCall(
ArrayRef<Value *> GCArgs, const Twine &Name) {
return CreateGCStatepointCallCommon<Value *, Value *, Value *, Value *>(
this, ID, NumPatchBytes, ActualCallee, uint32_t(StatepointFlags::None),
- CallArgs, None /* No Transition Args */, DeoptArgs, GCArgs, Name);
+ CallArgs, std::nullopt /* No Transition Args */, DeoptArgs, GCArgs, Name);
}
CallInst *IRBuilderBase::CreateGCStatepointCall(
@@ -839,7 +839,7 @@ CallInst *IRBuilderBase::CreateGCStatepointCall(
ArrayRef<Value *> GCArgs, const Twine &Name) {
return CreateGCStatepointCallCommon<Use, Value *, Value *, Value *>(
this, ID, NumPatchBytes, ActualCallee, uint32_t(StatepointFlags::None),
- CallArgs, None, DeoptArgs, GCArgs, Name);
+ CallArgs, std::nullopt, DeoptArgs, GCArgs, Name);
}
template <typename T0, typename T1, typename T2, typename T3>
@@ -875,8 +875,8 @@ InvokeInst *IRBuilderBase::CreateGCStatepointInvoke(
ArrayRef<Value *> GCArgs, const Twine &Name) {
return CreateGCStatepointInvokeCommon<Value *, Value *, Value *, Value *>(
this, ID, NumPatchBytes, ActualInvokee, NormalDest, UnwindDest,
- uint32_t(StatepointFlags::None), InvokeArgs, None /* No Transition Args*/,
- DeoptArgs, GCArgs, Name);
+ uint32_t(StatepointFlags::None), InvokeArgs,
+ std::nullopt /* No Transition Args*/, DeoptArgs, GCArgs, Name);
}
InvokeInst *IRBuilderBase::CreateGCStatepointInvoke(
@@ -897,8 +897,8 @@ InvokeInst *IRBuilderBase::CreateGCStatepointInvoke(
const Twine &Name) {
return CreateGCStatepointInvokeCommon<Use, Value *, Value *, Value *>(
this, ID, NumPatchBytes, ActualInvokee, NormalDest, UnwindDest,
- uint32_t(StatepointFlags::None), InvokeArgs, None, DeoptArgs, GCArgs,
- Name);
+ uint32_t(StatepointFlags::None), InvokeArgs, std::nullopt, DeoptArgs,
+ GCArgs, Name);
}
CallInst *IRBuilderBase::CreateGCResult(Instruction *Statepoint,
diff --git a/llvm/lib/IR/Instructions.cpp b/llvm/lib/IR/Instructions.cpp
index 539d325..97f3c0e 100644
--- a/llvm/lib/IR/Instructions.cpp
+++ b/llvm/lib/IR/Instructions.cpp
@@ -61,7 +61,7 @@ AllocaInst::getAllocationSizeInBits(const DataLayout &DL) const {
if (isArrayAllocation()) {
auto *C = dyn_cast<ConstantInt>(getArraySize());
if (!C)
- return None;
+ return std::nullopt;
assert(!Size.isScalable() && "Array elements cannot have a scalable size");
Size *= C->getZExtValue();
}
@@ -852,7 +852,7 @@ Instruction *CallInst::CreateMalloc(Instruction *InsertBefore,
Function *MallocF,
const Twine &Name) {
return createMalloc(InsertBefore, nullptr, IntPtrTy, AllocTy, AllocSize,
- ArraySize, None, MallocF, Name);
+ ArraySize, std::nullopt, MallocF, Name);
}
Instruction *CallInst::CreateMalloc(Instruction *InsertBefore,
Type *IntPtrTy, Type *AllocTy,
@@ -877,7 +877,7 @@ Instruction *CallInst::CreateMalloc(BasicBlock *InsertAtEnd,
Value *AllocSize, Value *ArraySize,
Function *MallocF, const Twine &Name) {
return createMalloc(nullptr, InsertAtEnd, IntPtrTy, AllocTy, AllocSize,
- ArraySize, None, MallocF, Name);
+ ArraySize, std::nullopt, MallocF, Name);
}
Instruction *CallInst::CreateMalloc(BasicBlock *InsertAtEnd,
Type *IntPtrTy, Type *AllocTy,
@@ -924,7 +924,7 @@ static Instruction *createFree(Value *Source,
/// CreateFree - Generate the IR for a call to the builtin free function.
Instruction *CallInst::CreateFree(Value *Source, Instruction *InsertBefore) {
- return createFree(Source, None, InsertBefore, nullptr);
+ return createFree(Source, std::nullopt, InsertBefore, nullptr);
}
Instruction *CallInst::CreateFree(Value *Source,
ArrayRef<OperandBundleDef> Bundles,
@@ -936,7 +936,8 @@ Instruction *CallInst::CreateFree(Value *Source,
/// Note: This function does not add the call to the basic block, that is the
/// responsibility of the caller.
Instruction *CallInst::CreateFree(Value *Source, BasicBlock *InsertAtEnd) {
- Instruction *FreeCall = createFree(Source, None, nullptr, InsertAtEnd);
+ Instruction *FreeCall =
+ createFree(Source, std::nullopt, nullptr, InsertAtEnd);
assert(FreeCall && "CreateFree did not create a CallInst");
return FreeCall;
}
@@ -4653,7 +4654,7 @@ SwitchInstProfUpdateWrapper::eraseFromParent() {
SwitchInstProfUpdateWrapper::CaseWeightOpt
SwitchInstProfUpdateWrapper::getSuccessorWeight(unsigned idx) {
if (!Weights)
- return None;
+ return std::nullopt;
return (*Weights)[idx];
}
@@ -4683,7 +4684,7 @@ SwitchInstProfUpdateWrapper::getSuccessorWeight(const SwitchInst &SI,
->getValue()
.getZExtValue();
- return None;
+ return std::nullopt;
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/IR/IntrinsicInst.cpp b/llvm/lib/IR/IntrinsicInst.cpp
index 2cdebae..242ddc4 100644
--- a/llvm/lib/IR/IntrinsicInst.cpp
+++ b/llvm/lib/IR/IntrinsicInst.cpp
@@ -282,7 +282,7 @@ Optional<RoundingMode> ConstrainedFPIntrinsic::getRoundingMode() const {
if (MAV)
MD = MAV->getMetadata();
if (!MD || !isa<MDString>(MD))
- return None;
+ return std::nullopt;
return convertStrToRoundingMode(cast<MDString>(MD)->getString());
}
@@ -294,7 +294,7 @@ ConstrainedFPIntrinsic::getExceptionBehavior() const {
if (MAV)
MD = MAV->getMetadata();
if (!MD || !isa<MDString>(MD))
- return None;
+ return std::nullopt;
return convertStrToExceptionBehavior(cast<MDString>(MD)->getString());
}
@@ -415,7 +415,7 @@ void VPIntrinsic::setVectorLengthParam(Value *NewEVL) {
Optional<unsigned> VPIntrinsic::getMaskParamPos(Intrinsic::ID IntrinsicID) {
switch (IntrinsicID) {
default:
- return None;
+ return std::nullopt;
#define BEGIN_REGISTER_VP_INTRINSIC(VPID, MASKPOS, VLENPOS) \
case Intrinsic::VPID: \
@@ -428,7 +428,7 @@ Optional<unsigned>
VPIntrinsic::getVectorLengthParamPos(Intrinsic::ID IntrinsicID) {
switch (IntrinsicID) {
default:
- return None;
+ return std::nullopt;
#define BEGIN_REGISTER_VP_INTRINSIC(VPID, MASKPOS, VLENPOS) \
case Intrinsic::VPID: \
@@ -461,7 +461,7 @@ Optional<unsigned> VPIntrinsic::getMemoryPointerParamPos(Intrinsic::ID VPID) {
#define END_REGISTER_VP_INTRINSIC(VPID) break;
#include "llvm/IR/VPIntrinsics.def"
}
- return None;
+ return std::nullopt;
}
/// \return The data (payload) operand of this store or scatter.
@@ -481,7 +481,7 @@ Optional<unsigned> VPIntrinsic::getMemoryDataParamPos(Intrinsic::ID VPID) {
#define END_REGISTER_VP_INTRINSIC(VPID) break;
#include "llvm/IR/VPIntrinsics.def"
}
- return None;
+ return std::nullopt;
}
bool VPIntrinsic::isVPIntrinsic(Intrinsic::ID ID) {
@@ -506,7 +506,7 @@ Optional<unsigned> VPIntrinsic::getFunctionalOpcodeForVP(Intrinsic::ID ID) {
#define END_REGISTER_VP_INTRINSIC(VPID) break;
#include "llvm/IR/VPIntrinsics.def"
}
- return None;
+ return std::nullopt;
}
Intrinsic::ID VPIntrinsic::getForOpcode(unsigned IROPC) {
@@ -717,7 +717,7 @@ Optional<unsigned> VPReductionIntrinsic::getVectorParamPos(Intrinsic::ID ID) {
default:
break;
}
- return None;
+ return std::nullopt;
}
Optional<unsigned> VPReductionIntrinsic::getStartParamPos(Intrinsic::ID ID) {
@@ -729,7 +729,7 @@ Optional<unsigned> VPReductionIntrinsic::getStartParamPos(Intrinsic::ID ID) {
default:
break;
}
- return None;
+ return std::nullopt;
}
Instruction::BinaryOps BinaryOpIntrinsic::getBinaryOp() const {
diff --git a/llvm/lib/IR/LLVMRemarkStreamer.cpp b/llvm/lib/IR/LLVMRemarkStreamer.cpp
index f7e2aa4..915f608 100644
--- a/llvm/lib/IR/LLVMRemarkStreamer.cpp
+++ b/llvm/lib/IR/LLVMRemarkStreamer.cpp
@@ -48,7 +48,7 @@ static remarks::Type toRemarkType(enum DiagnosticKind Kind) {
static Optional<remarks::RemarkLocation>
toRemarkLocation(const DiagnosticLocation &DL) {
if (!DL.isValid())
- return None;
+ return std::nullopt;
StringRef File = DL.getRelativePath();
unsigned Line = DL.getLine();
unsigned Col = DL.getColumn();
diff --git a/llvm/lib/IR/MDBuilder.cpp b/llvm/lib/IR/MDBuilder.cpp
index df08eb2..38ab1d3 100644
--- a/llvm/lib/IR/MDBuilder.cpp
+++ b/llvm/lib/IR/MDBuilder.cpp
@@ -53,7 +53,7 @@ MDNode *MDBuilder::createBranchWeights(ArrayRef<uint32_t> Weights) {
}
MDNode *MDBuilder::createUnpredictable() {
- return MDNode::get(Context, None);
+ return MDNode::get(Context, std::nullopt);
}
MDNode *MDBuilder::createFunctionEntryCount(
diff --git a/llvm/lib/IR/Metadata.cpp b/llvm/lib/IR/Metadata.cpp
index bde8371..1237070 100644
--- a/llvm/lib/IR/Metadata.cpp
+++ b/llvm/lib/IR/Metadata.cpp
@@ -82,7 +82,7 @@ static Metadata *canonicalizeMetadataForValue(LLVMContext &Context,
Metadata *MD) {
if (!MD)
// !{}
- return MDNode::get(Context, None);
+ return MDNode::get(Context, std::nullopt);
// Return early if this isn't a single-operand MDNode.
auto *N = dyn_cast<MDNode>(MD);
@@ -91,7 +91,7 @@ static Metadata *canonicalizeMetadataForValue(LLVMContext &Context,
if (!N->getOperand(0))
// !{}
- return MDNode::get(Context, None);
+ return MDNode::get(Context, std::nullopt);
if (auto *C = dyn_cast<ConstantAsMetadata>(N->getOperand(0)))
// Look through the MDNode.
diff --git a/llvm/lib/IR/Module.cpp b/llvm/lib/IR/Module.cpp
index 33d71fb..a9e80b3d 100644
--- a/llvm/lib/IR/Module.cpp
+++ b/llvm/lib/IR/Module.cpp
@@ -620,7 +620,7 @@ Optional<CodeModel::Model> Module::getCodeModel() const {
auto *Val = cast_or_null<ConstantAsMetadata>(getModuleFlag("Code Model"));
if (!Val)
- return None;
+ return std::nullopt;
return static_cast<CodeModel::Model>(
cast<ConstantInt>(Val->getValue())->getZExtValue());
@@ -778,7 +778,7 @@ static VersionTuple getSDKVersionMD(Metadata *MD) {
return {};
auto getVersionComponent = [&](unsigned Index) -> std::optional<unsigned> {
if (Index >= Arr->getNumElements())
- return None;
+ return std::nullopt;
return (unsigned)Arr->getElementAsInteger(Index);
};
auto Major = getVersionComponent(0);
diff --git a/llvm/lib/IR/Operator.cpp b/llvm/lib/IR/Operator.cpp
index c2a4a7c..0e26311 100644
--- a/llvm/lib/IR/Operator.cpp
+++ b/llvm/lib/IR/Operator.cpp
@@ -35,7 +35,7 @@ bool Operator::hasPoisonGeneratingFlags() const {
case Instruction::GetElementPtr: {
auto *GEP = cast<GEPOperator>(this);
// Note: inrange exists on constexpr only
- return GEP->isInBounds() || GEP->getInRangeIndex() != None;
+ return GEP->isInBounds() || GEP->getInRangeIndex() != std::nullopt;
}
default:
if (const auto *FP = dyn_cast<FPMathOperator>(this))
diff --git a/llvm/lib/IR/PseudoProbe.cpp b/llvm/lib/IR/PseudoProbe.cpp
index 5cad887..ae307d8 100644
--- a/llvm/lib/IR/PseudoProbe.cpp
+++ b/llvm/lib/IR/PseudoProbe.cpp
@@ -42,7 +42,7 @@ Optional<PseudoProbe> extractProbeFromDiscriminator(const Instruction &Inst) {
return Probe;
}
}
- return None;
+ return std::nullopt;
}
Optional<PseudoProbe> extractProbe(const Instruction &Inst) {
@@ -59,7 +59,7 @@ Optional<PseudoProbe> extractProbe(const Instruction &Inst) {
if (isa<CallBase>(&Inst) && !isa<IntrinsicInst>(&Inst))
return extractProbeFromDiscriminator(Inst);
- return None;
+ return std::nullopt;
}
void setProbeDistributionFactor(Instruction &Inst, float Factor) {
diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index 6676717..2590588 100644
--- a/llvm/lib/IR/Type.cpp
+++ b/llvm/lib/IR/Type.cpp
@@ -385,7 +385,7 @@ FunctionType *FunctionType::get(Type *ReturnType,
}
FunctionType *FunctionType::get(Type *Result, bool isVarArg) {
- return get(Result, None, isVarArg);
+ return get(Result, std::nullopt, isVarArg);
}
bool FunctionType::isValidReturnType(Type *RetTy) {
@@ -518,7 +518,7 @@ StructType *StructType::create(LLVMContext &Context, StringRef Name) {
}
StructType *StructType::get(LLVMContext &Context, bool isPacked) {
- return get(Context, None, isPacked);
+ return get(Context, std::nullopt, isPacked);
}
StructType *StructType::create(LLVMContext &Context, ArrayRef<Type*> Elements,