PATCH: fix clang to emit correct addrspacecast for CUDA
Justin Holewinski
jholewinski at nvidia.com
Mon Mar 24 11:22:48 PDT 2014
The hard part would be making this optimization general enough to be
target-independent. Optimizing to non-zero address spaces may not make
sense for all targets (or even all future versions of PTX). I agree
that there should be an IR-level optimization for this, but perhaps its
too target-specific and should actually live in the back-end.
On 03/24/2014 01:05 PM, Jingyue Wu wrote:
> Right. We are aware of this issue, and think it should be addressed in
> the IR optimizer (similar to InstCombineLoadCast and
> InstCombineStoreToCast) instead of clang. Do you think this is an
> appropriate approach? Is this optimization general enough to stay in
> the IR optimizer or target-dependent?
>
> Jingyue
>
>
> On Mon, Mar 24, 2014 at 4:54 AM, Justin Holewinski
> <justin.holewinski at gmail.com <mailto:justin.holewinski at gmail.com>> wrote:
>
> Hi Jingyue,
>
> I committed the addrspacecast isel patterns to NVPTX. Also, I
> wanted to point out that your changes in the last test case in
> this patch (address-spaces.cu <http://address-spaces.cu>)
> represent changes that may lead to performance degradation.
> Specific address spaces should be used whenever possible for
> loads/stores. Casting everything to a generic address is still
> correct, but may lead to additional indirections for the hardware.
>
>
> On Fri, Mar 21, 2014 at 2:25 PM, Justin Holewinski
> <jholewinski at nvidia.com <mailto:jholewinski at nvidia.com>> wrote:
>
> addrspacecast support in NVPTX is on my todo list. I'll try
> to put something together in the next few days.
>
>
> On 3/21/14, 2:20 PM, Jingyue Wu wrote:
>> Hi,
>>
>> Static local variables in CUDA can be declared with address
>> space qualifiers, such as __shared__. Therefore, the codegen
>> needs to potentially addrspacecast a static local variable to
>> the type expected by its declaration. Peter did something
>> similar for global variables in r157167.
>>
>> All clang tests passed.
>>
>> Justin: The NVPTX backend support for addrspacecast seems not
>> complete. We can send you follow-up patches once this one
>> gets in.
>>
>> Jingyue
>
>
> --
> Thanks,
>
> Justin Holewinski
>
> ------------------------------------------------------------------------
> 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.
> ------------------------------------------------------------------------
>
>
>
>
> --
>
> Thanks,
>
> Justin Holewinski
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140324/0b413a7a/attachment.html>
More information about the cfe-commits
mailing list