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.cc (use_pointer_for_field): Use pointer if the OMP data
structure's field type is a poly-int.
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