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

Eli Bendersky eliben at google.com
Tue Mar 18 10:08:29 PDT 2014


On Tue, Mar 18, 2014 at 9:59 AM, Justin Holewinski
<jholewinski at nvidia.com>wrote:

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

+CC Bill (attributes) and Jakob


> This should be set for all barrier instructions in IntrinsicsNVVM.td.
>

Fair enough; updated patch attached.

Eli



>
>
> 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?
>
>  PTAL
>
>  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: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140318/89d5ed8f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: intrinsics-noduplicate.2.patch
Type: text/x-patch
Size: 7950 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140318/89d5ed8f/attachment.bin>


More information about the llvm-commits mailing list