[PATCH] D158266: [OpenMP] Patch for Support to loop bind clause : Checking Parent Region
Sunil K via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 10 11:22:32 PDT 2023
koops added inline comments.
================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:6181-6190
+ checkNestingOfRegions(*this, DSAStack, Kind, DirName, CancelRegion,
+ BindKind, StartLoc);
Kind = OMPD_for;
DSAStack->setCurrentDirective(OMPD_for);
DSAStack->setMappedDirective(OMPD_loop);
PrevMappedDirective = OMPD_loop;
break;
----------------
ABataev wrote:
> Need to drop these extra calls of checkNestingOfRegions(), all check must be handled in the single call. Can we do it?
1) Default binding in "#pragma omp loop" is handled in the beginning of mapLoopConstruct.
#pragma omp parallel
....
#pragma omp loop
...
indicates "omp loop" will be "omp loop bind(parallel)". So, I cannot call checkNestingOfRegions() before call to mapLoopConstruct()
2) In mapLoopConstruct the directive/construct of "omp loop" is changed to other directives like "omp for". So, it is not possible to call checkNestingOfRegions() after the call to mapLoopConstruct.
Because of the above 2 reasons the current code seems correct. Please let me know if you have any alternative in mind.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158266/new/
https://reviews.llvm.org/D158266
More information about the cfe-commits
mailing list