[PATCH] D95976: [OpenMP] Simplify offloading parallel call codegen

Giorgis Georgakoudis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 19 00:55:32 PDT 2021


ggeorgakoudis marked 4 inline comments as done.
ggeorgakoudis added inline comments.


================
Comment at: clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp:1150
   llvm::Value *IsMaster =
       Bld.CreateICmpEQ(RT.getGPUThreadID(CGF), getMasterThreadID(CGF));
   Bld.CreateCondBr(IsMaster, MasterBB, EST.ExitBB);
----------------
Meinersbur wrote:
> There seem to be more unordered codegen calls, such as this one.
Some previous emitted values can be re-used, e.g., GPUThreadID in line 1150 can re-use the value from line 1140 , instead of re-emitted. I've kept emitting them as it was previously done. What is the preferred way to handle those? 


================
Comment at: openmp/libomptarget/deviceRTLs/common/src/parallel.cu:294
+  // TODO: Add UNLIKELY to optimize?
+  if (!if_expr) {
+    __kmpc_serialized_parallel(ident, global_tid);
----------------
jdoerfert wrote:
> ggeorgakoudis wrote:
> > jdoerfert wrote:
> > > This should allow us to remove the `SeqGen` in the Clang CodeGen *and* fix PR49777 *and* fix PR49779, a win-win-win situation.
> > Please check
> Check? Can we add the two reproducers as tests, please. One should be a clang test, the other maybe a runtime test, though clang test might suffice.
Ack, will do


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95976/new/

https://reviews.llvm.org/D95976



More information about the llvm-commits mailing list