[PATCH] D129285: [OMPIRBuilder] Fill the Aggregate Struct in the serialized parallel region

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 7 09:53:45 PDT 2022


jdoerfert added a comment.

Thanks for the example.  That makes sense now. I tried to list some options from the top of my head below. WDYT?



================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1001
     CI->getParent()->setName("omp_parallel");
     Builder.SetInsertPoint(CI);
 
----------------
Can we copy the block (CI->getParent()) here and use it in the sequential version?
Still not great but probably better than looking for stores. We could also copy
all users of the alloca (structArg) until we hit the call.
Or, we move/generate the stores and such directly in the block in which we branch (%entry in the example).
Maybe if we outline before we do the conditional it is even easier.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129285



More information about the llvm-commits mailing list