On 11/13/15 16:40, Bernd Schmidt wrote:
+      this_mask = (this_mask & -this_mask);

Unnecessary parens.

+      if (!this_mask && noisy)
+    warning_at (loop->loc, 0,
+            "insufficient partitioning available to parallelize loop");

Should this really be an unconditional warning? Isn't sequential execution a
valid result of "auto"? (The spec implies that this is a possible outcome for
loops inside kernels that can't be determined to be independent.)

This piece of code is only active when loops have the INDEPENDENT clause. That's implicit for (marked) loops inside parallel. But for kernels you need to say so explicitly. IMO the user should be told that such loops fail to be parallelized.

Speaking of kernels, the testcase doesn't cover it, but maybe that's because
that needs something else before it works?

Going to wait for Tom's kernels patch set to land.


nathan

Reply via email to