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