[flang-commits] [flang] [flang][cuda] Lower DEALLOCATE for device variables (PR #89091)

Slava Zakharin via flang-commits flang-commits at lists.llvm.org
Wed Apr 17 09:01:55 PDT 2024


================
@@ -799,17 +799,40 @@ static void postDeallocationAction(Fortran::lower::AbstractConverter &converter,
     Fortran::lower::attachDeclarePostDeallocAction(converter, builder, sym);
 }
 
+static mlir::Value genCudaDeallocate(fir::FirOpBuilder &builder,
+                                     mlir::Location loc,
+                                     const fir::MutableBoxValue &box,
+                                     ErrorManager &errorManager,
+                                     const Fortran::semantics::Symbol &sym) {
+  fir::CUDADataAttributeAttr cudaAttr =
+      Fortran::lower::translateSymbolCUDADataAttribute(builder.getContext(),
+                                                       sym);
+  mlir::Value errmsg =
+      mlir::isa<fir::AbsentOp>(errorManager.errMsgAddr.getDefiningOp())
----------------
vzakhari wrote:

This check is different from https://github.com/llvm/llvm-project/pull/88980/files#diff-96be36dcf5ea9de4eb09e8224e069245ad5a3bd4cc8cae81d429f7e6cdaa68ddR735 - should they be consistent?

https://github.com/llvm/llvm-project/pull/89091


More information about the flang-commits mailing list