[Mlir-commits] [flang] [mlir] [flang][OpenACC] Fix implicit data mapping for deviceptr inside host_data (PR #192710)
Razvan Lupusoru
llvmlistbot at llvm.org
Wed Apr 29 07:14:36 PDT 2026
================
@@ -311,9 +311,20 @@ Operation *ACCImplicitData::getOriginalDataClauseOpForAlias(
if (auto *dataClauseOp = dataClause.getDefiningOp()) {
// Only accept clauses that guarantee that the alias is present.
if (isa<acc::CopyinOp, acc::CreateOp, acc::PresentOp, acc::NoCreateOp,
- acc::DevicePtrOp>(dataClauseOp))
- if (aliasAnalysis.alias(acc::getVar(dataClauseOp), var).isMust())
+ acc::DevicePtrOp>(dataClauseOp)) {
+ Value clauseVar = acc::getVar(dataClauseOp);
+ if (aliasAnalysis.alias(clauseVar, var).isMust())
return dataClauseOp;
+ // For deviceptr clauses, also check if the clause variable is
+ // directly derived from 'var' (e.g., through a wrapping
+ // operation that produces the clause variable from 'var').
+ if (isa<acc::DevicePtrOp>(dataClauseOp)) {
+ for (Operation *user : var.getUsers()) {
----------------
razvanlupusoru wrote:
Why is it not sufficient?
https://github.com/llvm/llvm-project/pull/192710
More information about the Mlir-commits
mailing list