[flang-commits] [flang] 86b8c1d - [flang] Don't use Optional::hasValue (NFC)
Kazu Hirata via flang-commits
flang-commits at lists.llvm.org
Sun Jul 10 15:01:13 PDT 2022
Author: Kazu Hirata
Date: 2022-07-10T15:01:06-07:00
New Revision: 86b8c1d9c4a9f540aec2f43989cb8340ae8e9284
URL: https://github.com/llvm/llvm-project/commit/86b8c1d9c4a9f540aec2f43989cb8340ae8e9284
DIFF: https://github.com/llvm/llvm-project/commit/86b8c1d9c4a9f540aec2f43989cb8340ae8e9284.diff
LOG: [flang] Don't use Optional::hasValue (NFC)
Flang C++ Style Guide tells us to avoid .has_value() in the predicate
expressions of control flow statements. I am treating ternary
expressions as control flow statements for the purpose of this patch.
Differential Revision: https://reviews.llvm.org/D128622
Added:
Modified:
flang/include/flang/Lower/IterationSpace.h
flang/lib/Lower/ConvertExpr.cpp
flang/lib/Lower/IterationSpace.cpp
flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
flang/lib/Optimizer/CodeGen/CodeGen.cpp
flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
flang/lib/Optimizer/Dialect/FIROps.cpp
flang/lib/Optimizer/Support/InternalNames.cpp
flang/lib/Optimizer/Transforms/AffinePromotion.cpp
flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
Removed:
################################################################################
diff --git a/flang/include/flang/Lower/IterationSpace.h b/flang/include/flang/Lower/IterationSpace.h
index 055882c5770d1..9ad3bd15274fc 100644
--- a/flang/include/flang/Lower/IterationSpace.h
+++ b/flang/include/flang/Lower/IterationSpace.h
@@ -465,7 +465,7 @@ class ExplicitIterSpace {
llvm::Optional<fir::ArrayLoadOp> getLhsLoad(size_t i) {
assert(i < lhsBases.size());
- if (lhsBases[counter].hasValue())
+ if (lhsBases[counter])
return findBinding(lhsBases[counter].getValue());
return llvm::None;
}
diff --git a/flang/lib/Lower/ConvertExpr.cpp b/flang/lib/Lower/ConvertExpr.cpp
index 43f1bf4809c6f..0351df2f91fa2 100644
--- a/flang/lib/Lower/ConvertExpr.cpp
+++ b/flang/lib/Lower/ConvertExpr.cpp
@@ -4266,7 +4266,7 @@ class ArrayExprLowering {
auto [iterSpace, insPt] = genIterSpace(resultTy);
auto exv = f(iterSpace);
iterSpace.setElement(std::move(exv));
- auto lambda = ccStoreToDest.hasValue()
+ auto lambda = ccStoreToDest
? ccStoreToDest.getValue()
: defaultStoreToDestination(/*substring=*/nullptr);
mlir::Value updVal = fir::getBase(lambda(iterSpace));
@@ -4603,7 +4603,7 @@ class ArrayExprLowering {
}
// Generate the lazy mask allocation, if one was given.
- if (ccPrelude.hasValue())
+ if (ccPrelude)
ccPrelude.getValue()(shape);
// Now handle the implicit loops.
@@ -4663,7 +4663,7 @@ class ArrayExprLowering {
fir::ArrayLoadOp
createAndLoadSomeArrayTemp(mlir::Type type,
llvm::ArrayRef<mlir::Value> shape) {
- if (ccLoadDest.hasValue())
+ if (ccLoadDest)
return ccLoadDest.getValue()(shape);
auto seqTy = type.dyn_cast<fir::SequenceType>();
assert(seqTy && "must be an array");
@@ -5934,7 +5934,7 @@ class ArrayExprLowering {
// always loaded at the beginning of the statement and merged at the
// end.
destination = arrLoad;
- auto lambda = ccStoreToDest.hasValue()
+ auto lambda = ccStoreToDest
? ccStoreToDest.getValue()
: defaultStoreToDestination(components.substring);
return [=](IterSpace iters) -> ExtValue { return lambda(iters); };
@@ -6573,7 +6573,7 @@ class ArrayExprLowering {
// Return the continuation.
if (fir::isa_char(seqTy.getEleTy())) {
- if (charLen.hasValue()) {
+ if (charLen) {
auto len = builder.create<fir::LoadOp>(loc, charLen.getValue());
return genarr(fir::CharArrayBoxValue{mem, len, extents});
}
@@ -7625,7 +7625,7 @@ void Fortran::lower::createArrayLoads(
auto genLoad = [&](const auto *x) -> fir::ArrayLoadOp {
return genArrayLoad(loc, converter, builder, x, symMap, stmtCtx);
};
- if (esp.lhsBases[counter].hasValue()) {
+ if (esp.lhsBases[counter]) {
auto &base = esp.lhsBases[counter].getValue();
auto load = std::visit(genLoad, base);
esp.initialArgs.push_back(load);
@@ -7650,7 +7650,7 @@ void Fortran::lower::createArrayMergeStores(
load.getMemref(), load.getSlice(),
load.getTypeparams());
}
- if (esp.loopCleanup.hasValue()) {
+ if (esp.loopCleanup) {
esp.loopCleanup.getValue()(builder);
esp.loopCleanup = llvm::None;
}
diff --git a/flang/lib/Lower/IterationSpace.cpp b/flang/lib/Lower/IterationSpace.cpp
index 4d7a7f8cda0f8..f41bc5124753b 100644
--- a/flang/lib/Lower/IterationSpace.cpp
+++ b/flang/lib/Lower/IterationSpace.cpp
@@ -862,7 +862,7 @@ void Fortran::lower::ExplicitIterSpace::conditionalCleanup() {
llvm::Optional<size_t>
Fortran::lower::ExplicitIterSpace::findArgPosition(fir::ArrayLoadOp load) {
- if (lhsBases[counter].hasValue()) {
+ if (lhsBases[counter]) {
auto ld = loadBindings.find(lhsBases[counter].getValue());
llvm::Optional<size_t> optPos;
if (ld != loadBindings.end() && ld->second == load)
@@ -919,7 +919,7 @@ Fortran::lower::operator<<(llvm::raw_ostream &s,
s << "LHS bases:\n";
for (const llvm::Optional<Fortran::lower::ExplicitIterSpace::ArrayBases> &u :
e.lhsBases)
- if (u.hasValue())
+ if (u)
dump(u.getValue());
s << "RHS bases:\n";
for (const llvm::SmallVector<Fortran::lower::ExplicitIterSpace::ArrayBases>
diff --git a/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp b/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
index e652ca75f207f..5675237f992a9 100644
--- a/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
+++ b/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
@@ -252,10 +252,10 @@ class BoxedProcedurePass : public BoxedProcedurePassBase<BoxedProcedurePass> {
auto toTy = typeConverter.convertType(unwrapRefType(ty));
bool isPinned = mem.getPinned();
llvm::StringRef uniqName;
- if (mem.getUniqName().hasValue())
+ if (mem.getUniqName())
uniqName = mem.getUniqName().getValue();
llvm::StringRef bindcName;
- if (mem.getBindcName().hasValue())
+ if (mem.getBindcName())
bindcName = mem.getBindcName().getValue();
rewriter.replaceOpWithNewOp<AllocaOp>(
mem, toTy, uniqName, bindcName, isPinned, mem.getTypeparams(),
@@ -267,10 +267,10 @@ class BoxedProcedurePass : public BoxedProcedurePassBase<BoxedProcedurePass> {
rewriter.setInsertionPoint(mem);
auto toTy = typeConverter.convertType(unwrapRefType(ty));
llvm::StringRef uniqName;
- if (mem.getUniqName().hasValue())
+ if (mem.getUniqName())
uniqName = mem.getUniqName().getValue();
llvm::StringRef bindcName;
- if (mem.getBindcName().hasValue())
+ if (mem.getBindcName())
bindcName = mem.getBindcName().getValue();
rewriter.replaceOpWithNewOp<AllocMemOp>(
mem, toTy, uniqName, bindcName, mem.getTypeparams(),
diff --git a/flang/lib/Optimizer/CodeGen/CodeGen.cpp b/flang/lib/Optimizer/CodeGen/CodeGen.cpp
index ffb0a8dbc4ca1..632ab28005788 100644
--- a/flang/lib/Optimizer/CodeGen/CodeGen.cpp
+++ b/flang/lib/Optimizer/CodeGen/CodeGen.cpp
@@ -2689,7 +2689,7 @@ struct GlobalOpConversion : public FIROpConversion<fir::GlobalOp> {
// enumeration.
mlir::LLVM::Linkage
convertLinkage(llvm::Optional<llvm::StringRef> optLinkage) const {
- if (optLinkage.hasValue()) {
+ if (optLinkage) {
auto name = optLinkage.getValue();
if (name == "internal")
return mlir::LLVM::Linkage::Internal;
@@ -2746,7 +2746,7 @@ static void genCondBrOp(mlir::Location loc, mlir::Value cmp, mlir::Block *dest,
llvm::Optional<mlir::ValueRange> destOps,
mlir::ConversionPatternRewriter &rewriter,
mlir::Block *newBlock) {
- if (destOps.hasValue())
+ if (destOps)
rewriter.create<mlir::LLVM::CondBrOp>(loc, cmp, dest, destOps.getValue(),
newBlock, mlir::ValueRange());
else
@@ -2756,7 +2756,7 @@ static void genCondBrOp(mlir::Location loc, mlir::Value cmp, mlir::Block *dest,
template <typename A, typename B>
static void genBrOp(A caseOp, mlir::Block *dest, llvm::Optional<B> destOps,
mlir::ConversionPatternRewriter &rewriter) {
- if (destOps.hasValue())
+ if (destOps)
rewriter.replaceOpWithNewOp<mlir::LLVM::BrOp>(caseOp, destOps.getValue(),
dest);
else
@@ -2881,15 +2881,14 @@ static void selectMatchAndRewrite(fir::LLVMTypeConverter &lowering, OP select,
const mlir::Attribute &attr = cases[t];
if (auto intAttr = attr.template dyn_cast<mlir::IntegerAttr>()) {
destinations.push_back(dest);
- destinationsOperands.push_back(destOps.hasValue() ? *destOps
- : mlir::ValueRange{});
+ destinationsOperands.push_back(destOps ? *destOps : mlir::ValueRange{});
caseValues.push_back(intAttr.getInt());
continue;
}
assert(attr.template dyn_cast_or_null<mlir::UnitAttr>());
assert((t + 1 == conds) && "unit must be last");
defaultDestination = dest;
- defaultOperands = destOps.hasValue() ? *destOps : mlir::ValueRange{};
+ defaultOperands = destOps ? *destOps : mlir::ValueRange{};
}
// LLVM::SwitchOp takes a i32 type for the selector.
diff --git a/flang/lib/Optimizer/CodeGen/TargetRewrite.cpp b/flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
index cc1e5ed3ceee9..24448a519ace6 100644
--- a/flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
+++ b/flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
@@ -316,7 +316,7 @@ class TargetRewrite : public fir::TargetRewriteBase<TargetRewrite> {
newOpers.insert(newOpers.end(), trailingOpers.begin(), trailingOpers.end());
if constexpr (std::is_same_v<std::decay_t<A>, fir::CallOp>) {
fir::CallOp newCall;
- if (callOp.getCallee().hasValue()) {
+ if (callOp.getCallee()) {
newCall = rewriter->create<A>(loc, callOp.getCallee().getValue(),
newResTys, newOpers);
} else {
diff --git a/flang/lib/Optimizer/Dialect/FIROps.cpp b/flang/lib/Optimizer/Dialect/FIROps.cpp
index 38cb0475c7939..0119bca098ce8 100644
--- a/flang/lib/Optimizer/Dialect/FIROps.cpp
+++ b/flang/lib/Optimizer/Dialect/FIROps.cpp
@@ -1294,7 +1294,7 @@ mlir::ParseResult fir::GlobalOp::parse(mlir::OpAsmParser &parser,
}
void fir::GlobalOp::print(mlir::OpAsmPrinter &p) {
- if (getLinkName().hasValue())
+ if (getLinkName())
p << ' ' << getLinkName().getValue();
p << ' ';
p.printAttributeWithoutType(getSymrefAttr());
diff --git a/flang/lib/Optimizer/Support/InternalNames.cpp b/flang/lib/Optimizer/Support/InternalNames.cpp
index 8e37df2f7df0c..63fe017f3654e 100644
--- a/flang/lib/Optimizer/Support/InternalNames.cpp
+++ b/flang/lib/Optimizer/Support/InternalNames.cpp
@@ -51,7 +51,7 @@ convertToStringRef(llvm::ArrayRef<std::string> from) {
inline llvm::Optional<llvm::StringRef>
convertToStringRef(const llvm::Optional<std::string> &from) {
llvm::Optional<llvm::StringRef> to;
- if (from.hasValue())
+ if (from)
to = from.getValue();
return to;
}
diff --git a/flang/lib/Optimizer/Transforms/AffinePromotion.cpp b/flang/lib/Optimizer/Transforms/AffinePromotion.cpp
index 3890721cea25a..dad4b476ca86b 100644
--- a/flang/lib/Optimizer/Transforms/AffinePromotion.cpp
+++ b/flang/lib/Optimizer/Transforms/AffinePromotion.cpp
@@ -188,7 +188,7 @@ struct AffineIfCondition {
MaybeAffineExpr affineBinaryOp(mlir::AffineExprKind kind, MaybeAffineExpr lhs,
MaybeAffineExpr rhs) {
- if (lhs.hasValue() && rhs.hasValue())
+ if (lhs && rhs)
return mlir::getAffineBinaryOpExpr(kind, lhs.getValue(), rhs.getValue());
return {};
}
@@ -233,7 +233,7 @@ struct AffineIfCondition {
void fromCmpIOp(mlir::arith::CmpIOp cmpOp) {
auto lhsAffine = toAffineExpr(cmpOp.getLhs());
auto rhsAffine = toAffineExpr(cmpOp.getRhs());
- if (!lhsAffine.hasValue() || !rhsAffine.hasValue())
+ if (!lhsAffine || !rhsAffine)
return;
auto constraintPair = constraint(
cmpOp.getPredicate(), rhsAffine.getValue() - lhsAffine.getValue());
diff --git a/flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp b/flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
index 6170556c24ac9..b88c186a7a695 100644
--- a/flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
+++ b/flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
@@ -49,7 +49,7 @@ class MangleNameOnCallOp : public mlir::OpRewritePattern<fir::CallOp> {
mlir::PatternRewriter &rewriter) const override {
rewriter.startRootUpdate(op);
auto callee = op.getCallee();
- if (callee.hasValue()) {
+ if (callee) {
auto result = fir::NameUniquer::deconstruct(
callee.getValue().getRootReference().getValue());
if (fir::NameUniquer::isExternalFacingUniquedName(result))
@@ -137,7 +137,7 @@ void ExternalNameConversionPass::runOnOperation() {
acc::OpenACCDialect, omp::OpenMPDialect>();
target.addDynamicallyLegalOp<fir::CallOp>([](fir::CallOp op) {
- if (op.getCallee().hasValue())
+ if (op.getCallee())
return !fir::NameUniquer::needExternalNameMangling(
op.getCallee().getValue().getRootReference().getValue());
return true;
More information about the flang-commits
mailing list