[PATCH] D102107: [OpenMP] Codegen aggregate for outlined function captures

Johannes Doerfert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 21 22:32:50 PDT 2021


jdoerfert added a comment.

In D102107#2824581 <https://reviews.llvm.org/D102107#2824581>, @ABataev wrote:

> In D102107#2823706 <https://reviews.llvm.org/D102107#2823706>, @jdoerfert wrote:
>
>> In D102107#2821976 <https://reviews.llvm.org/D102107#2821976>, @ABataev wrote:
>>
>>> We used this kind of codegen initially but later found out that it causes a large overhead when gathering pointers into a record. What about hybrid scheme where the first args are passed as arguments and others (if any) are gathered into a record?
>>
>> I'm confused, maybe I misunderstand the problem. The parallel function arguments need to go from the main thread to the workers somehow, I don't see how this is done w/o a record. This patch makes it explicit though.
>
> Pass it in a record for workers only? And use a hybrid scheme for all other parallel regions.

I still do not follow. What does it mean for workers only? What is a hybrid scheme? And, probably most importantly, how would we not eventually put everything into a record anyway?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102107



More information about the cfe-commits mailing list