PATCH: Add "noduplicate" property for intrinsics and use it NVPTX synchronization intrinsics

Justin Holewinski jholewinski at
Tue Mar 18 09:59:56 PDT 2014

This looks good to me, though sign-off from a maintainer of tablegen may 
be necessary.

This should be set for all barrier instructions in

On 03/17/2014 05:09 PM, Eli Bendersky wrote:
> Hello,
> The "noduplicate" function attribute exists to prevent certain 
> optimizations from duplicating calls to the function. This is 
> important on platforms where certain function call duplications are 
> unsafe (for example execution barriers for CUDA and OpenCL).
> This patch make it possible to specify intrinsics as "noduplicate" and 
> translates that to the appropriate function attribute. It also uses it 
> for the int_cuda_syncthreads intrinsics. Tests are also added.
> Justin: for now I just added it for the intrinsic directly visible 
> from CUDA source. Should this attribute be added to all 
> int_nvvm_barrier0* intrinsics as well?
> Eli

This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the llvm-commits mailing list