diff --git a/mlir/lib/AsmParser/AttributeParser.cpp b/mlir/lib/AsmParser/AttributeParser.cpp index 589c4b00ad3a..c8e2c09ec0ba 100644 --- a/mlir/lib/AsmParser/AttributeParser.cpp +++ b/mlir/lib/AsmParser/AttributeParser.cpp @@ -687,7 +687,7 @@ TensorLiteralParser::getFloatAttrElements(SMLoc loc, FloatType eltTy, DenseElementsAttr TensorLiteralParser::getStringAttr(SMLoc loc, ShapedType type, Type eltTy) { if (hexStorage.has_value()) { - auto stringValue = hexStorage.value().getStringValue(); + auto stringValue = hexStorage->getStringValue(); return DenseStringElementsAttr::get(type, {stringValue}); } diff --git a/mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp b/mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp index cf98263e6224..d35165fee2e0 100644 --- a/mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp +++ b/mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp @@ -77,7 +77,7 @@ LogicalResult ScalarOpToLibmCall::matchAndRewrite( if (!isDouble.has_value()) return failure(); - auto name = isDouble.value() ? doubleFunc : floatFunc; + auto name = *isDouble ? doubleFunc : floatFunc; auto opFunc = dyn_cast_or_null( SymbolTable::lookupSymbolIn(module, name)); diff --git a/mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp b/mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp index 0a9fd6042aa2..babaab31006c 100644 --- a/mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp +++ b/mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp @@ -136,12 +136,12 @@ uint64_t mlir::getLargestDivisorOfTripCount(AffineForOp forOp) { thisGcd = resultExpr.getLargestKnownDivisor(); } if (gcd.has_value()) - gcd = std::gcd(gcd.value(), thisGcd); + gcd = std::gcd(*gcd, thisGcd); else gcd = thisGcd; } assert(gcd.has_value() && "value expected per above logic"); - return gcd.value(); + return *gcd; } /// Given an induction variable `iv` of type AffineForOp and an access `index` diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp index cd02a8f19f79..90e2f755ba03 100644 --- a/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp +++ b/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp @@ -453,13 +453,13 @@ public: if (firstSrcDepPos.has_value()) { if (lastDstDepPos.has_value()) { - if (firstSrcDepPos.value() <= lastDstDepPos.value()) { + if (*firstSrcDepPos <= *lastDstDepPos) { // No valid insertion point exists which preserves dependences. return nullptr; } } // Return the insertion point at 'firstSrcDepPos'. - return depInsts[firstSrcDepPos.value()]; + return depInsts[*firstSrcDepPos]; } // No dependence targets in range (or only dst deps in range), return // 'dstNodInst' insertion point. @@ -973,11 +973,10 @@ static Value createPrivateMemRef(AffineForOp forOp, Operation *srcStoreOpInst, // Create 'newMemRefType' using 'newShape' from MemRefRegion accessed // by 'srcStoreOpInst'. - uint64_t bufSize = - getMemRefEltSizeInBytes(oldMemRefType) * numElements.value(); + uint64_t bufSize = getMemRefEltSizeInBytes(oldMemRefType) * *numElements; unsigned newMemSpace; if (bufSize <= localBufSizeThreshold && fastMemorySpace.has_value()) { - newMemSpace = fastMemorySpace.value(); + newMemSpace = *fastMemorySpace; } else { newMemSpace = oldMemRefType.getMemorySpaceAsInt(); } @@ -1175,7 +1174,7 @@ static bool isFusionProfitable(Operation *srcOpInst, Operation *srcStoreOpInst, srcWriteRegion.getRegionSize(); if (!maybeSrcWriteRegionSizeBytes.has_value()) return false; - int64_t srcWriteRegionSizeBytes = maybeSrcWriteRegionSizeBytes.value(); + int64_t srcWriteRegionSizeBytes = *maybeSrcWriteRegionSizeBytes; // Compute op instance count for the src loop nest. uint64_t dstLoopNestCost = getComputeCost(dstForOp, dstLoopNestStats); @@ -1216,13 +1215,13 @@ static bool isFusionProfitable(Operation *srcOpInst, Operation *srcStoreOpInst, Optional maybeSliceWriteRegionSizeBytes = sliceWriteRegion.getRegionSize(); if (!maybeSliceWriteRegionSizeBytes.has_value() || - maybeSliceWriteRegionSizeBytes.value() == 0) { + *maybeSliceWriteRegionSizeBytes == 0) { LLVM_DEBUG(llvm::dbgs() << "Failed to get slice write region size at loopDepth: " << i << "\n"); continue; } - int64_t sliceWriteRegionSizeBytes = maybeSliceWriteRegionSizeBytes.value(); + int64_t sliceWriteRegionSizeBytes = *maybeSliceWriteRegionSizeBytes; // If we are fusing for reuse, check that write regions remain the same. // TODO: Write region check should check sizes and offsets in @@ -1299,11 +1298,11 @@ static bool isFusionProfitable(Operation *srcOpInst, Operation *srcStoreOpInst, return false; } - auto srcMemSizeVal = srcMemSize.value(); - auto dstMemSizeVal = dstMemSize.value(); + auto srcMemSizeVal = *srcMemSize; + auto dstMemSizeVal = *dstMemSize; assert(sliceMemEstimate && "expected value"); - auto fusedMem = dstMemSizeVal + sliceMemEstimate.value(); + auto fusedMem = dstMemSizeVal + *sliceMemEstimate; LLVM_DEBUG(llvm::dbgs() << " src mem: " << srcMemSizeVal << "\n" << " dst mem: " << dstMemSizeVal << "\n" diff --git a/mlir/lib/TableGen/AttrOrTypeDef.cpp b/mlir/lib/TableGen/AttrOrTypeDef.cpp index 5237446c03c6..042fba42d550 100644 --- a/mlir/lib/TableGen/AttrOrTypeDef.cpp +++ b/mlir/lib/TableGen/AttrOrTypeDef.cpp @@ -242,7 +242,7 @@ StringRef AttrOrTypeParameter::getComparator() const { StringRef AttrOrTypeParameter::getCppType() const { if (auto *stringType = dyn_cast(getDef())) return stringType->getValue(); - return getDefValue("cppType").value(); + return *getDefValue("cppType"); } StringRef AttrOrTypeParameter::getCppAccessorType() const { diff --git a/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp b/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp index 0bd00aa7b7b8..77de573aeffe 100644 --- a/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp +++ b/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp @@ -682,7 +682,7 @@ GlobalOp Importer::processGlobal(llvm::GlobalVariable *globalVar) { uint64_t alignment = 0; llvm::MaybeAlign maybeAlign = globalVar->getAlign(); if (maybeAlign.has_value()) { - llvm::Align align = maybeAlign.value(); + llvm::Align align = *maybeAlign; alignment = align.value(); } diff --git a/mlir/lib/Transforms/Inliner.cpp b/mlir/lib/Transforms/Inliner.cpp index 5c795f902afc..5d6eaad62eed 100644 --- a/mlir/lib/Transforms/Inliner.cpp +++ b/mlir/lib/Transforms/Inliner.cpp @@ -386,11 +386,11 @@ static bool inlineHistoryIncludes( MutableArrayRef>> inlineHistory) { while (inlineHistoryID.has_value()) { - assert(inlineHistoryID.value() < inlineHistory.size() && + assert(*inlineHistoryID < inlineHistory.size() && "Invalid inline history ID"); - if (inlineHistory[inlineHistoryID.value()].first == node) + if (inlineHistory[*inlineHistoryID].first == node) return true; - inlineHistoryID = inlineHistory[inlineHistoryID.value()].second; + inlineHistoryID = inlineHistory[*inlineHistoryID].second; } return false; } @@ -543,7 +543,7 @@ static LogicalResult inlineCallsInSCC(Inliner &inliner, CGUseList &useList, inlineHistory.push_back(std::make_pair(it.targetNode, inlineHistoryID)); auto historyToString = [](InlineHistoryT h) { - return h.has_value() ? std::to_string(h.value()) : "root"; + return h.has_value() ? std::to_string(*h) : "root"; }; (void)historyToString; LLVM_DEBUG(llvm::dbgs() diff --git a/mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp b/mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp index cfa1880b5d3f..9b7816c95227 100644 --- a/mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp +++ b/mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp @@ -740,14 +740,14 @@ static LogicalResult generateNamedGenericOpOds(LinalgOpConfig &opConfig, assert(arg.indexAttrMap.has_value()); assert(arg.defaultIndices.has_value()); size_t size = arg.indexAttrMap->affineMap().getNumResults(); - assert(arg.defaultIndices.value().size() == size); + assert(arg.defaultIndices->size() == size); static const char typeFmt[] = "RankedI64ElementsAttr<[{0}]>"; static const char defFmt[] = "DefaultValuedOptionalAttr<{0}, \"{ {1} }\">:${2}"; std::string defaultVals; llvm::raw_string_ostream ss(defaultVals); llvm::interleave( - arg.defaultIndices.value(), ss, + *arg.defaultIndices, ss, [&](int64_t val) { ss << "static_cast(" << val << ")"; }, ", "); attrDefs.push_back(llvm::formatv(defFmt, llvm::formatv(typeFmt, size), @@ -1098,11 +1098,10 @@ if ({1}Iter != attrs.end()) {{ if (expression.scalarFn->attrName) { if (llvm::none_of(args, [&](LinalgOperandDef &arg) { return isFunctionAttribute(arg.kind) && - arg.name == expression.scalarFn->attrName.value(); + arg.name == *expression.scalarFn->attrName; })) { - emitError(genContext.getLoc()) - << "missing function attribute " - << expression.scalarFn->attrName.value(); + emitError(genContext.getLoc()) << "missing function attribute " + << *expression.scalarFn->attrName; } funcType = llvm::formatv("{0}Val", *expression.scalarFn->attrName); } @@ -1113,15 +1112,15 @@ if ({1}Iter != attrs.end()) {{ if (expression.scalarFn->kind == ScalarFnKind::Type) { assert(expression.scalarFn->typeVar.has_value()); Optional typeCppValue = - findTypeValue(expression.scalarFn->typeVar.value(), args); + findTypeValue(*expression.scalarFn->typeVar, args); if (!typeCppValue) { emitError(genContext.getLoc()) - << "type variable " << expression.scalarFn->typeVar.value() + << "type variable " << *expression.scalarFn->typeVar << ", used in a type conversion, must map to a predefined or " << "an argument type but it does not"; return std::nullopt; } - operandCppValues.push_back(typeCppValue.value()); + operandCppValues.push_back(*typeCppValue); } // Collect the scalar operands.