[flang-commits] [flang] [flang][cuda] Add restriction on implicit data transfer (PR #87720)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Thu Apr 4 15:57:18 PDT 2024
================
@@ -413,4 +415,18 @@ void CUDAChecker::Enter(const parser::CUFKernelDoConstruct &x) {
}
}
+void CUDAChecker::Enter(const parser::AssignmentStmt &x) {
+ const evaluate::Assignment *assign = semantics::GetAssignment(x);
+ unsigned nbLhs = evaluate::GetNbOfCUDASymbols(assign->lhs);
+ unsigned nbRhs = evaluate::GetNbOfCUDASymbols(assign->rhs);
+ auto lhsLoc{std::get<parser::Variable>(x.t).GetSource()};
+
+ // device to host transfer with more than one device object on the rhs is not
----------------
klausler wrote:
What if one object is used multiple times? Maybe you need a set of symbols so that you're counting only the distinct ones.
https://github.com/llvm/llvm-project/pull/87720
More information about the flang-commits
mailing list