[flang-commits] [flang] [flang][fir] fix fir.if canonicalization pattern from #205353 (PR #205757)
Tom Eccles via flang-commits
flang-commits at lists.llvm.org
Thu Jun 25 04:56:38 PDT 2026
================
@@ -5736,7 +5736,11 @@ struct FoldPresentAbsentIfOp : public mlir::OpRewritePattern<fir::IfOp> {
auto elseResult = mlir::dyn_cast<fir::ResultOp>(elseBlock.getTerminator());
if (!elseResult || elseResult.getNumOperands() != 1)
return mlir::failure();
- if (!elseResult.getOperand(0).getDefiningOp<fir::AbsentOp>())
+ auto absentOp = elseResult.getOperand(0).getDefiningOp<fir::AbsentOp>();
+ if (!absentOp)
+ return mlir::failure();
+ if (elseBlock.getOperations().size() == 2 &&
----------------
tblah wrote:
Why check for `== 2`?
https://github.com/llvm/llvm-project/pull/205757
More information about the flang-commits
mailing list