[PATCH] D64765: [OPENMP]Add support for analysis of firstprivate variables.
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 19 15:08:22 PDT 2019
NoQ accepted this revision.
NoQ added inline comments.
This revision is now accepted and ready to land.
================
Comment at: include/clang/AST/OpenMPClause.h:2102-2103
child_range used_children() {
- return child_range(child_iterator(), child_iterator());
+ return child_range(reinterpret_cast<Stmt **>(varlist_begin()),
+ reinterpret_cast<Stmt **>(varlist_end()));
}
----------------
So, basically, the first approximation is that all children are used?
================
Comment at: test/Analysis/cfg-openmp.cpp:188
// CHECK-NEXT: [[#TARGET+6]]: [B1.[[#TARGET+5]]] (ImplicitCastExpr, IntegralToBoolean, _Bool)
-// CHECK-NEXT: [[#TARGET+7]]: #pragma omp target depend(in : argc) if(cond)
+// CHECK-NEXT: [[#TARGET+7]]: fp
+// CHECK-NEXT: [[#TARGET+8]]: argc
----------------
ABataev wrote:
> In `task` and `target` regions some of the variables might be implicit firstprivate just like in this case.
Aha, yup, i see, so we need to evaluate them again because we're after their lvalues so that to capture them by reference. I guess this kinda sorts out my questions.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64765/new/
https://reviews.llvm.org/D64765
More information about the cfe-commits
mailing list