diff --git a/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp b/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp index fbe4029ff5c09..188a9d251cdfd 100644 --- a/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp +++ b/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp @@ -252,12 +252,10 @@ class BoxedProcedurePass : public BoxedProcedurePassBase { rewriter.setInsertionPoint(mem); auto toTy = typeConverter.convertType(unwrapRefType(ty)); bool isPinned = mem.getPinned(); - llvm::StringRef uniqName; - if (mem.getUniqName()) - uniqName = mem.getUniqName().getValue(); - llvm::StringRef bindcName; - if (mem.getBindcName()) - bindcName = mem.getBindcName().getValue(); + llvm::StringRef uniqName = + mem.getUniqName().value_or(llvm::StringRef()); + llvm::StringRef bindcName = + mem.getBindcName().value_or(llvm::StringRef()); rewriter.replaceOpWithNewOp( mem, toTy, uniqName, bindcName, isPinned, mem.getTypeparams(), mem.getShape()); @@ -267,12 +265,10 @@ class BoxedProcedurePass : public BoxedProcedurePassBase { if (typeConverter.needsConversion(ty)) { rewriter.setInsertionPoint(mem); auto toTy = typeConverter.convertType(unwrapRefType(ty)); - llvm::StringRef uniqName; - if (mem.getUniqName()) - uniqName = mem.getUniqName().getValue(); - llvm::StringRef bindcName; - if (mem.getBindcName()) - bindcName = mem.getBindcName().getValue(); + llvm::StringRef uniqName = + mem.getUniqName().value_or(llvm::StringRef()); + llvm::StringRef bindcName = + mem.getBindcName().value_or(llvm::StringRef()); rewriter.replaceOpWithNewOp( mem, toTy, uniqName, bindcName, mem.getTypeparams(), mem.getShape()); diff --git a/flang/lib/Optimizer/CodeGen/CodeGen.cpp b/flang/lib/Optimizer/CodeGen/CodeGen.cpp index 0f61776a7215b..113556c280ba1 100644 --- a/flang/lib/Optimizer/CodeGen/CodeGen.cpp +++ b/flang/lib/Optimizer/CodeGen/CodeGen.cpp @@ -2679,9 +2679,7 @@ struct GlobalOpConversion : public FIROpConversion { if (global.getType().isa()) tyAttr = tyAttr.cast().getElementType(); auto loc = global.getLoc(); - mlir::Attribute initAttr; - if (global.getInitVal()) - initAttr = global.getInitVal().getValue(); + mlir::Attribute initAttr = global.getInitVal().value_or(mlir::Attribute()); auto linkage = convertLinkage(global.getLinkName()); auto isConst = global.getConstant().has_value(); auto g = rewriter.create(