diff --git a/flang/lib/Optimizer/Transforms/CUFOpConversion.cpp b/flang/lib/Optimizer/Transforms/CUFOpConversion.cpp index f2ab99a8bc8ee..424a8fd9d959b 100644 --- a/flang/lib/Optimizer/Transforms/CUFOpConversion.cpp +++ b/flang/lib/Optimizer/Transforms/CUFOpConversion.cpp @@ -557,8 +557,9 @@ class CUFOpConversion : public fir::impl::CUFOpConversionBase { target.addLegalOp(); cuf::populateCUFToFIRConversionPatterns(typeConverter, *dl, symtab, patterns); - cuf::populateCUFAllocationConversionPatterns(typeConverter, *dl, symtab, - patterns); + if (allocationConversion) + cuf::populateCUFAllocationConversionPatterns(typeConverter, *dl, symtab, + patterns); if (mlir::failed(mlir::applyPartialConversion(getOperation(), target, std::move(patterns)))) { mlir::emitError(mlir::UnknownLoc::get(ctx),