On Tue, Dec 03, 2013 at 01:11:08PM -0700, Jeff Law wrote:
> On 11/28/13 15:58, Jakub Jelinek wrote:
>  +  for (i = 0; i < omp_clause_num_ops[OMP_CLAUSE_CODE (expr)]; i++)
> >+    stream_write_tree (ob, OMP_CLAUSE_OPERAND (expr, i), ref_p);
> >+  if (OMP_CLAUSE_CODE (expr) == OMP_CLAUSE_REDUCTION)
> >+    {
> >+      /* We don't stream these right now, handle it if streaming
> >+     of them is needed.  */
> >+      gcc_assert (OMP_CLAUSE_REDUCTION_GIMPLE_INIT (expr) == NULL);
> >+      gcc_assert (OMP_CLAUSE_REDUCTION_GIMPLE_MERGE (expr) == NULL);
> >+    }
> ISTM we will need to stream these.  Is there some reason to think
> they won't be needed?  Otherwise it looks good.
> 
> If you've got a good reason to believe these won't be needed, then
> it's OK as-is.  If not I'd like to see this stuff handed too.

Normally omp clauses disappear during omp expansion, right now the only
clauses that LTO streamers sees are those for #pragma omp declare simd,
those are never reductions.  I chose to implement streaming of all
omp clauses rather than just the subset of them that can appear in
"omp declare simd" attribute argument, just streaming of the above
gimple seqs would be too much work for something that isn't needed.

        Jakub

Reply via email to