[PATCH] D12246: [NVPTX] change threading intrinsics from noduplicate to convergent

Bjarke Roune via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 31 16:08:41 PDT 2015


On Mon, Aug 31, 2015 at 10:42 AM, Owen Anderson <resistor at mac.com> wrote:

>
> On Aug 31, 2015, at 10:01 AM, Bjarke Roune <broune at google.com> wrote:
>
> I'm not sure if you're saying that there should be no limitations as the
> use cases you had mind for convergent are always OK with such duplication,
> or that we should be figuring this stuff out on a case-by-case basis, or
> something else?
>
>
> I designed the semantics of convergent to meet the needs of texture and
> gradient operations, without a lot of consideration for barriers.  IMO, It
> would be a nice end result if it turns out be just what barriers need as
> well, but I don’t want to accidentally hose the use cases I intended it for
> in pursuit of making it work for barriers.
>
> Everything you’ve identified re: full vs partial unrolling, unstitching,
> etc. seems fine to me so far.
>
> So texture and gradient operations also requires these restrictions for
unswitching and partial unrolling, or is it just that imposing such
restrictions even if unnecessary is fine?

Would you say that we need the langref to say something about when
convergent operations can be duplicated? I think it's hard to reason about
whether unrolling, loop unswitching and other passes are doing the right
thing without that.

Bjarke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150831/7753de88/attachment.html>


More information about the llvm-commits mailing list