[PATCH] D72304: [OpenMP]{OMPIRBuilder] Add Directives (master and critical) to OMPBuilder.
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 16 01:03:31 PST 2020
jdoerfert accepted this revision.
jdoerfert added a comment.
This revision is now accepted and ready to land.
LGTM with some minor things you should address before the merge.
================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMPConstants.h:90
+// extern ArrayType *KmpCriticalNameTy;
+// extern PointerType *KmpCriticalNamePtrTy;
+
----------------
Leftover comment.
================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:272
+ /// \param CriticalName name of the lock used by the critical directive
+ /// \param hasHint whether there is ahint clause associated with critical
+ ///
----------------
Nit: typos in parameter name and comment, comments seems outdated.
================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:305
+ /// should be
+ /// called.
+ ///
----------------
Nit: Comment is not in sync with the Entry one.
Nit: spelling in the parameter name and format.
================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:326
+ /// be
+ /// called.
+ ///
----------------
Nit: spelling param name and format.
================
Comment at: llvm/lib/Frontend/OpenMP/OMPConstants.cpp:45
///{
-
#define OMP_TYPE(VarName, InitValue) Type *llvm::omp::types::VarName = nullptr;
----------------
Leftover
================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:695
+
+ FinalizationStack.push_back({FiniCB, OMPD, /*IsCancellable*/ false});
+
----------------
This needs to be guarded by `HasFinalize` if the corresponding pop is.
================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:749
+ BasicBlock *ExitPredBB = SplitPos->getParent();
+ auto InsertBB = merged ? ExitPredBB : ExitBB;
+ if (!isa_and_nonnull<BranchInst>(SplitPos))
----------------
I have the feeling the merging makes it harder without providing a benefit but I'm OK with it for now
================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:759
+OpenMPIRBuilder::InsertPointTy OpenMPIRBuilder::emitCommonDirectiveEntry(
+ Directive omp, Value *EntryCall, BasicBlock *ExitBB, bool Conditional) {
+
----------------
`omp` is not a good name here.
================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:791
+ omp::Directive OMPD, InsertPointTy FinIP, Instruction *ExitCall,
+ bool hasFinalize) {
+
----------------
`HasFinalize`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72304/new/
https://reviews.llvm.org/D72304
More information about the llvm-commits
mailing list