From f5670e74ee8ecb659dccdf849fa03cda9d523f2e Mon Sep 17 00:00:00 2001 From: Katherine Rasmussen Date: Wed, 27 Aug 2025 14:29:43 -0700 Subject: [PATCH] Update builder.create into fir::OpTy::create calls --- flang/lib/Lower/Runtime.cpp | 20 ++++++++++--------- .../lib/Optimizer/Builder/Runtime/Coarray.cpp | 14 +++++++------ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/flang/lib/Lower/Runtime.cpp b/flang/lib/Lower/Runtime.cpp index 7478425ecbf80..9fbf1818ee4f6 100644 --- a/flang/lib/Lower/Runtime.cpp +++ b/flang/lib/Lower/Runtime.cpp @@ -73,13 +73,14 @@ static std::pair getStatAndErrmsg( } if (!statExpr) { - statExpr = builder.create( - loc, builder.getRefType(builder.getI32Type())); + statExpr = fir::AbsentOp::create(builder, loc, + builder.getRefType(builder.getI32Type())); } if (!errMsgExpr) { - errMsgExpr = builder.create( - loc, fir::BoxType::get(fir::CharacterType::get( - builder.getContext(), 1, fir::CharacterType::unknownLen()))); + errMsgExpr = fir::AbsentOp::create( + builder, loc, + fir::BoxType::get(fir::CharacterType::get( + builder.getContext(), 1, fir::CharacterType::unknownLen()))); } return {statExpr, errMsgExpr}; } @@ -244,10 +245,11 @@ void Fortran::lower::genSyncImagesStatement( fir::getBase(converter.genExprBox(loc, *expr, stmtCtx)); }, [&](const Fortran::parser::Star &) { - imageSet = builder.create( - loc, fir::BoxType::get(fir::SequenceType::get( - {fir::SequenceType::getUnknownExtent()}, - builder.getI32Type()))); + imageSet = fir::AbsentOp::create( + builder, loc, + fir::BoxType::get(fir::SequenceType::get( + {fir::SequenceType::getUnknownExtent()}, + builder.getI32Type()))); }}, imgSet.u); diff --git a/flang/lib/Optimizer/Builder/Runtime/Coarray.cpp b/flang/lib/Optimizer/Builder/Runtime/Coarray.cpp index 6eb00b9f42b4b..7e3e9b26fe26c 100644 --- a/flang/lib/Optimizer/Builder/Runtime/Coarray.cpp +++ b/flang/lib/Optimizer/Builder/Runtime/Coarray.cpp @@ -26,7 +26,7 @@ genErrmsgPRIF(fir::FirOpBuilder &builder, mlir::Location loc, mlir::Value errmsg) { bool isAllocatableErrmsg = fir::isAllocatableType(errmsg.getType()); - mlir::Value absent = builder.create(loc, PRIF_ERRMSG_TYPE); + mlir::Value absent = fir::AbsentOp::create(builder, loc, PRIF_ERRMSG_TYPE); mlir::Value errMsg = isAllocatableErrmsg ? absent : errmsg; mlir::Value errMsgAlloc = isAllocatableErrmsg ? errmsg : absent; return {errMsg, errMsgAlloc}; @@ -43,7 +43,8 @@ mlir::Value fir::runtime::genInitCoarray(fir::FirOpBuilder &builder, llvm::SmallVector args = fir::runtime::createArguments(builder, loc, ftype, result); fir::CallOp::create(builder, loc, funcOp, args); - return builder.create(loc, result); + + return fir::LoadOp::create(builder, loc, result); } /// Generate Call to runtime prif_num_images @@ -57,7 +58,8 @@ mlir::Value fir::runtime::getNumImages(fir::FirOpBuilder &builder, llvm::SmallVector args = fir::runtime::createArguments(builder, loc, ftype, result); fir::CallOp::create(builder, loc, funcOp, args); - return builder.create(loc, result); + + return fir::LoadOp::create(builder, loc, result); } /// Generate Call to runtime prif_num_images_with_{team|team_number} @@ -82,7 +84,7 @@ mlir::Value fir::runtime::getNumImagesWithTeam(fir::FirOpBuilder &builder, llvm::SmallVector args = fir::runtime::createArguments(builder, loc, ftype, team, result); fir::CallOp::create(builder, loc, funcOp, args); - return builder.create(loc, result); + return fir::LoadOp::create(builder, loc, result); } /// Generate Call to runtime prif_this_image_no_coarray @@ -96,11 +98,11 @@ mlir::Value fir::runtime::getThisImage(fir::FirOpBuilder &builder, mlir::Value result = builder.createTemporary(loc, builder.getI32Type()); mlir::Value teamArg = - !team ? builder.create(loc, boxTy) : team; + !team ? fir::AbsentOp::create(builder, loc, boxTy) : team; llvm::SmallVector args = fir::runtime::createArguments(builder, loc, ftype, teamArg, result); fir::CallOp::create(builder, loc, funcOp, args); - return builder.create(loc, result); + return fir::LoadOp::create(builder, loc, result); } /// Generate call to runtime subroutine prif_sync_all