[PATCH] D79677: [Clang][OpenMP][OMPBuilder] (1/4) Privatize `parallel` for `OMPBuilder`
Fady Ghanim via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 30 23:57:35 PDT 2020
fghanim marked 3 inline comments as done.
fghanim added a comment.
In D79677#2119019 <https://reviews.llvm.org/D79677#2119019>, @kiranchandramohan wrote:
> Is the ordering of code generation for clauses important?
> copyin -> firstprivate -> barrier -> private
if we emitted a copyin, then prob. yes. otherwise no.
================
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:1673
//
// TODO: This defaults to shared right now.
auto PrivCB = [](InsertPointTy AllocaIP, InsertPointTy CodeGenIP,
----------------
kiranchandramohan wrote:
> Should this change in this patch?
No, still used for shared variables.
but the todo should go away.
================
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:1729-1736
+ if (!OMP_Entry->getTerminator()) {
+ OMP_Entry->getInstList().push_back(EntryBI);
+ } else if (Builder.GetInsertBlock()->getTerminator()) {
+ EntryBI->dropAllReferences();
+ EntryBI->deleteValue();
+ } else {
+ Builder.Insert(EntryBI);
----------------
kiranchandramohan wrote:
> Nit: What do these three cases correspond to? A comment might be useful.
Just checks to see what to do with the terminator of the entry block.
I'll add a comment in an update
================
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:1743
+ Builder.SetInsertPoint(&ContinuationBB);
+ PrivateScope.ForceCleanup();
+ Builder.Insert(ContTI);
----------------
kiranchandramohan wrote:
> Not a comment about this patch: While the context makes it clear, the name does not suggest that this function is emitting something.
you mean `ForceClean()`?
it forces the emission of cleanup code - instead of just as part of the Privatescope Dctor.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79677/new/
https://reviews.llvm.org/D79677
More information about the cfe-commits
mailing list