[PATCH] D62614: Fix for the OCL/LC to failure on some OCLPerf tests

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 31 08:51:50 PDT 2019

rampitec added a comment.

In D62614#1524592 <https://reviews.llvm.org/D62614#1524592>, @nhaehnle wrote:

> Changing the meaning of "uniform" in this way is just bound to lead to confusion further down the line, so please can we not do that?
> I agree with Stas that the notion of "uniform" alone is simply not enough, though I'd phrase it this way: we need to distinguish between //uniform at definition// and //uniform at use//. The value inside the loop is uniform at definition, but it is not uniform when used outside the loop with divergent exit.

To me "uniform at def" vs "uniform at use" it to vague. Essentially what is different between use and def is the context in terms of the threads affected, i.e. exactly the scope. You value can be uniform at def, and them suddenly become divergent even before the use, just because you have changed the exec mask. That is not use makes it divergent, but the control flow context.



More information about the llvm-commits mailing list