[llvm-dev] RFC: Removal of noduplicate attribute

Aaron Ballman via llvm-dev llvm-dev at lists.llvm.org
Sun Oct 27 10:25:13 PDT 2019

On Fri, Oct 25, 2019 at 7:37 PM Arsenault, Matthew via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Hi,
> Can the noduplicate attribute be deleted? It was originally added to satisfy the constraints of OpenCL barriers, but it didn’t really solve this problem. Convergent is strictly better and more accurately captures the real restriction. Is anyone still using noduplicate or really needs the semantics of noduplicate? There are a number of passes that now respect convergent, but do not try to handle noduplicate properly. There is a maintenance cost to keeping it around, and does require work to keep it working as advertised.

The noduplicate attribute is user-facing and is not tied to OpenCL
(there are no constraints for it, anyway), so I would be suspicious of
removing it just because it doesn't satisfy OpenCL needs -- users may
be using it for other purposes. It may be reasonable to deprecate it
if there is a better user-facing option for users to use and
eventually remove the attribute when we think it's safe to do so, but
I think it's a bit early to talk about removal.


> A related question is if it’s OK to recycle the attribute encoding bit, or if this will be a problematic bitcode compatibility change.
> -Matt
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list