On Wed, 14 Sep 2022 16:58:28 +0200 Jakub Jelinek <ja...@redhat.com> wrote:
> On Tue, Sep 13, 2022 at 02:04:30PM -0700, Julian Brown wrote: > > This patch implements OpenMP 5.0 "declare mapper" support for C++. > > This hasn't been fully revised yet following previous review > > comments, but I am including it in this series to demonstrate the > > new approach to gimplifying map clauses after "declare mapper" > > instantiation. > > > > The "gimplify_scan_omp_clauses" function is still called twice: > > firstly (before scanning the offload region's body) with > > SUPPRESS_GIMPLIFICATION set to true. This sets up variables in the > > splay tree, etc. but does not gimplify anything. > > > > Then, implicit "declare mappers" are instantiated after scanning the > > region's body, then "gimplify_scan_omp_clauses" is called again, and > > does the rest of its previous tasks -- builds struct sibling lists, > > and gimplifies clauses. Then gimplify_adjust_omp_clauses is called, > > and compilation continues. > > > > Does this approach seem OK? > > As I wrote in > https://gcc.gnu.org/pipermail/gcc-patches/2022-June/596444.html I > don't see a reason for this 3 passes approach and it will be a > maintainance problem. Ack. I'll have another go at refactoring those bits when reworking this patch. Thanks, Julian