<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[NFC][clang] Fix CodeGenSYCL::unique_stable_name_windows_diff test (#146854)</title>
<updated>2025-07-08T07:33:19+00:00</updated>
<author>
<name>Mariya Podchishchaeva</name>
<email>mariya.podchishchaeva@intel.com</email>
</author>
<published>2025-07-08T07:33:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6d14483912807072d35714538ae41123686d7abd'/>
<id>6d14483912807072d35714538ae41123686d7abd</id>
<content type='text'>
The test checks x86 target in fsycl-is-device mode. x86 is not a valid
offloading target and IMO test meant to check fsycl-is-host mode to make
sure host invocations of __builtin_sycl_unique_stable_name work
correctly. This also switches the test to use sycl_entry_point attribute
instead of sycl_kernel because the intention for the future SYCL changes
is to use sycl_entry_point and eventually remove sycl_kernel attribute
when sycl_entry_point supports enough SYCL cases.

Fixes https://github.com/llvm/llvm-project/issues/146566

---------

Co-authored-by: Tom Honermann &lt;tom@honermann.net&gt;
Co-authored-by: Victor Lomuller &lt;victor@codeplay.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The test checks x86 target in fsycl-is-device mode. x86 is not a valid
offloading target and IMO test meant to check fsycl-is-host mode to make
sure host invocations of __builtin_sycl_unique_stable_name work
correctly. This also switches the test to use sycl_entry_point attribute
instead of sycl_kernel because the intention for the future SYCL changes
is to use sycl_entry_point and eventually remove sycl_kernel attribute
when sycl_entry_point supports enough SYCL cases.

Fixes https://github.com/llvm/llvm-project/issues/146566

---------

Co-authored-by: Tom Honermann &lt;tom@honermann.net&gt;
Co-authored-by: Victor Lomuller &lt;victor@codeplay.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Simple typo correction. (#114548)</title>
<updated>2024-11-01T16:40:57+00:00</updated>
<author>
<name>c8ef</name>
<email>c8ef@outlook.com</email>
</author>
<published>2024-11-01T16:40:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b57b3f64253a57831a5e5f4e6557d2f9cb01d017'/>
<id>b57b3f64253a57831a5e5f4e6557d2f9cb01d017</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix incorrect cast in VisitSYCLUniqueStableNameExpr</title>
<updated>2022-11-19T11:43:17+00:00</updated>
<author>
<name>Alex Richardson</name>
<email>alexrichardson@google.com</email>
</author>
<published>2022-11-18T21:15:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0745b0c0354a0c8e1fefb68a3876d15db6c2e27a'/>
<id>0745b0c0354a0c8e1fefb68a3876d15db6c2e27a</id>
<content type='text'>
Clang language-level address spaces and LLVM pointer address spaces are
not the same thing (even though they will both have a numeric value of
zero in many cases). LangAS is a enum class to avoid implicit conversions,
but eba69b59d1a30dead07da2c279c8ecfd2b62ba9f avoided the compiler error by
adding a `static_cast&lt;&gt;`. While touching this code, simplify it by using
CreatePointerBitCastOrAddrSpaceCast() which is already a no-op if the types
match.

This changes the code generation for spir64 to place the globals in
the sycl_global addreds space, which maps to `addrspace(1)`.

Reviewed By: bader

Differential Revision: https://reviews.llvm.org/D138284
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clang language-level address spaces and LLVM pointer address spaces are
not the same thing (even though they will both have a numeric value of
zero in many cases). LangAS is a enum class to avoid implicit conversions,
but eba69b59d1a30dead07da2c279c8ecfd2b62ba9f avoided the compiler error by
adding a `static_cast&lt;&gt;`. While touching this code, simplify it by using
CreatePointerBitCastOrAddrSpaceCast() which is already a no-op if the types
match.

This changes the code generation for spir64 to place the globals in
the sycl_global addreds space, which maps to `addrspace(1)`.

Reviewed By: bader

Differential Revision: https://reviews.llvm.org/D138284
</pre>
</div>
</content>
</entry>
<entry>
<title>Change __builtin_sycl_unique_stable_name to just use an Itanium mangling</title>
<updated>2021-09-28T13:41:03+00:00</updated>
<author>
<name>Erich Keane</name>
<email>erich.keane@intel.com</email>
</author>
<published>2021-09-22T19:24:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9324cc2ca951fe5fe11c85470cb08e699c59499c'/>
<id>9324cc2ca951fe5fe11c85470cb08e699c59499c</id>
<content type='text'>
After significant problems in our downstream with the previous
implementation, the SYCL standard has opted to make using macros/etc to
change kernel-naming-lambdas in any way UB (even passively). As a
result, we are able to just emit the itanium mangling.

However, this DOES require a little work in the CXXABI, as the microsoft
and itanium mangler use different numbering schemes for lambdas.  This
patch adds a pair of mangling contexts that use the normal 'itanium'
mangling strategy to fill in the "DeviceManglingNumber" used previously
by CUDA.

Differential Revision: https://reviews.llvm.org/D110281
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After significant problems in our downstream with the previous
implementation, the SYCL standard has opted to make using macros/etc to
change kernel-naming-lambdas in any way UB (even passively). As a
result, we are able to just emit the itanium mangling.

However, this DOES require a little work in the CXXABI, as the microsoft
and itanium mangler use different numbering schemes for lambdas.  This
patch adds a pair of mangling contexts that use the normal 'itanium'
mangling strategy to fill in the "DeviceManglingNumber" used previously
by CUDA.

Differential Revision: https://reviews.llvm.org/D110281
</pre>
</div>
</content>
</entry>
<entry>
<title>[SYCL] Fix __builtin_sycl_unique_stable_name to work on windows/spir</title>
<updated>2021-06-02T20:16:14+00:00</updated>
<author>
<name>Erich Keane</name>
<email>erich.keane@intel.com</email>
</author>
<published>2021-06-02T19:50:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d8e0ae9a76a62bdc6117630d59bf9967ac9bb4ea'/>
<id>d8e0ae9a76a62bdc6117630d59bf9967ac9bb4ea</id>
<content type='text'>
In the case where the device is an itanium target, and the host is a
windows target, we were getting the names wrong, since in the itanium
case we filter by lambda-signature.

The fix is to always filter by the signature rather than just on
non-windows builds. I considered doing the reverse (that is, checking
the aux-triple), but doing so would result in duplicate lambda mangling
numbers (from linux reusing the same number for different signatures).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the case where the device is an itanium target, and the host is a
windows target, we were getting the names wrong, since in the itanium
case we filter by lambda-signature.

The fix is to always filter by the signature rather than just on
non-windows builds. I considered doing the reverse (that is, checking
the aux-triple), but doing so would result in duplicate lambda mangling
numbers (from linux reusing the same number for different signatures).
</pre>
</div>
</content>
</entry>
</feed>
