[llvm-dev] RFC: Removal of noduplicate attribute

Matt Arsenault via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 28 22:04:17 PDT 2019

> On Oct 27, 2019, at 10:25, Aaron Ballman via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 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.

The QoI isn’t great for it, and we aren’t seeing any bug reports involving it so it doesn’t seem like it’s really in use. The only mention of the attribute I found on bugzilla is a comment mentioning that it exists as possibly being relevant to solving another problem. 

Similar to how clang tries to force convergent on all functions, noduplicate would have to be speculatively added to all functions if we were serious about preserving the semantics. As-is calls to noduplicate functions could be effectively duplicated by duplicating a call to a function that calls a noduplicate function, or a call to a noduplicate through an indirect call.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191028/ba9942b1/attachment.html>

More information about the llvm-dev mailing list