diff options
author | Valentin Clement (バレンタイン クレメン) <clementval@gmail.com> | 2024-03-18 17:11:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-18 17:11:04 -0700 |
commit | 8a6a0f1954937341abd501529f3d7454937110a5 (patch) | |
tree | 9ecc7e72291fe6c454bae6208e9ec90ba270a2c8 /flang/lib/Lower/Bridge.cpp | |
parent | 42c38b1cc5c1b216f4bd18c39b82fcd64ca20b90 (diff) | |
download | llvm-8a6a0f1954937341abd501529f3d7454937110a5.zip llvm-8a6a0f1954937341abd501529f3d7454937110a5.tar.gz llvm-8a6a0f1954937341abd501529f3d7454937110a5.tar.bz2 |
[flang][cuda] Add proper TODO for cuda fortran assignment (#85705)
Data transfer between host and device can be done with assignment
statements in CUDA Fortran. This is currently not lowered so adding a
proper TODO.
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-data-trans-assgn-statemts
Diffstat (limited to 'flang/lib/Lower/Bridge.cpp')
-rw-r--r-- | flang/lib/Lower/Bridge.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp index 650ec5d..6c32c53 100644 --- a/flang/lib/Lower/Bridge.cpp +++ b/flang/lib/Lower/Bridge.cpp @@ -3692,6 +3692,11 @@ private: const Fortran::evaluate::ProcedureRef *userDefinedAssignment) { mlir::Location loc = getCurrentLocation(); fir::FirOpBuilder &builder = getFirOpBuilder(); + + if (Fortran::evaluate::HasCUDAAttrs(assign.lhs) || + Fortran::evaluate::HasCUDAAttrs(assign.rhs)) + TODO(loc, "Assignement with CUDA Fortran variables"); + // Gather some information about the assignment that will impact how it is // lowered. const bool isWholeAllocatableAssignment = |