aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Lower/Bridge.cpp
diff options
context:
space:
mode:
authorValentin Clement (バレンタイン クレメン) <clementval@gmail.com>2024-03-18 17:11:04 -0700
committerGitHub <noreply@github.com>2024-03-18 17:11:04 -0700
commit8a6a0f1954937341abd501529f3d7454937110a5 (patch)
tree9ecc7e72291fe6c454bae6208e9ec90ba270a2c8 /flang/lib/Lower/Bridge.cpp
parent42c38b1cc5c1b216f4bd18c39b82fcd64ca20b90 (diff)
downloadllvm-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.cpp5
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 =