diff options
author | Kazu Hirata <kazu@google.com> | 2022-12-02 20:05:20 -0800 |
---|---|---|
committer | Kazu Hirata <kazu@google.com> | 2022-12-02 20:05:20 -0800 |
commit | e842c06c2d52ae1d60db7ed528ea3f4215a0aad6 (patch) | |
tree | 2fa4d17e05b9dec6d22fddb83293ebb43b0dfc7d /llvm/lib | |
parent | 19aff0f37dd68ee51e78b764c0ce629ae73d1eef (diff) | |
download | llvm-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.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/IR/Attributes.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/IR/AutoUpgrade.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/IR/BasicBlock.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/IR/ConstantFold.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/ConstantRange.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/Constants.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/IR/ConstantsContext.h | 4 | ||||
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 33 | ||||
-rw-r--r-- | llvm/lib/IR/DataLayout.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/IR/DebugInfo.cpp | 14 | ||||
-rw-r--r-- | llvm/lib/IR/DebugInfoMetadata.cpp | 22 | ||||
-rw-r--r-- | llvm/lib/IR/FPEnv.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/Function.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/IR/Globals.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/IRBuilder.cpp | 12 | ||||
-rw-r--r-- | llvm/lib/IR/Instructions.cpp | 15 | ||||
-rw-r--r-- | llvm/lib/IR/IntrinsicInst.cpp | 18 | ||||
-rw-r--r-- | llvm/lib/IR/LLVMRemarkStreamer.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/IR/MDBuilder.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/IR/Metadata.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/Module.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/Operator.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/IR/PseudoProbe.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/Type.cpp | 4 |
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, |