[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