<div dir="ltr">Hello,<div><br></div><div>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).</div>

<div><br></div><div>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.</div>

<div><br></div><div>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?</div><div><br></div><div>PTAL</div><div>

<br></div><div>Eli</div><div><br></div><div><br></div><div><br></div></div>