On Mon, May 27, 2024 at 10:36:16AM +0530, Tejas Belagod wrote: > Currently poly-int type structures are passed by value to OpenMP runtime > functions for shared clauses etc. This patch improves on this by passing > around poly-int structures by address to avoid copy-overhead. > > gcc/ChangeLog > * omp-low.c (use_pointer_for_field): Use pointer if the OMP data > structure's field type is a poly-int.
LGTM. > diff --git a/gcc/omp-low.cc b/gcc/omp-low.cc > index 1a65229cc37..b15607f4ef5 100644 > --- a/gcc/omp-low.cc > +++ b/gcc/omp-low.cc > @@ -466,7 +466,8 @@ static bool > use_pointer_for_field (tree decl, omp_context *shared_ctx) > { > if (AGGREGATE_TYPE_P (TREE_TYPE (decl)) > - || TYPE_ATOMIC (TREE_TYPE (decl))) > + || TYPE_ATOMIC (TREE_TYPE (decl)) > + || POLY_INT_CST_P (DECL_SIZE (decl))) > return true; > > /* We can only use copy-in/copy-out semantics for shared variables > -- > 2.25.1 Jakub