<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/lib/CodeGen/TargetInfo.cpp, branch users/nico/python-1</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>[clang] Use TargetInfo to determine device kernel calling convention (#144728)</title>
<updated>2025-06-18T20:50:12+00:00</updated>
<author>
<name>Nick Sarnie</name>
<email>nick.sarnie@intel.com</email>
</author>
<published>2025-06-18T20:50:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=86d1d6b2c0c1f03e82cb8e360f2672c6f0ea39d5'/>
<id>86d1d6b2c0c1f03e82cb8e360f2672c6f0ea39d5</id>
<content type='text'>
We should abstract this logic away to `TargetInfo`. See
https://github.com/llvm/llvm-project/pull/137882 for more information.

---------

Signed-off-by: Sarnie, Nick &lt;nick.sarnie@intel.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should abstract this logic away to `TargetInfo`. See
https://github.com/llvm/llvm-project/pull/137882 for more information.

---------

Signed-off-by: Sarnie, Nick &lt;nick.sarnie@intel.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[clang] Simplify device kernel attributes  (#137882)</title>
<updated>2025-06-05T14:15:38+00:00</updated>
<author>
<name>Nick Sarnie</name>
<email>nick.sarnie@intel.com</email>
</author>
<published>2025-06-05T14:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3b9ebe92011b033523217a9b9a2f03f4c8c37aab'/>
<id>3b9ebe92011b033523217a9b9a2f03f4c8c37aab</id>
<content type='text'>
We have multiple different attributes in clang representing device
kernels for specific targets/languages. Refactor them into one attribute
with different spellings to make it more easily scalable for new
languages/targets.

---------

Signed-off-by: Sarnie, Nick &lt;nick.sarnie@intel.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have multiple different attributes in clang representing device
kernels for specific targets/languages. Refactor them into one attribute
with different spellings to make it more easily scalable for new
languages/targets.

---------

Signed-off-by: Sarnie, Nick &lt;nick.sarnie@intel.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][AArch64] Move initialization of ptrauth-* function attrs (#140277)</title>
<updated>2025-05-20T09:50:58+00:00</updated>
<author>
<name>Anatoly Trosinenko</name>
<email>atrosinenko@accesssoftek.com</email>
</author>
<published>2025-05-20T09:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f10a90587f044e134d470ca1ab56d8f244f25336'/>
<id>f10a90587f044e134d470ca1ab56d8f244f25336</id>
<content type='text'>
Move the initialization of ptrauth-* function attributes near the
initialization of branch protection attributes. The semantics of these
groups of attributes partially overlaps, so handle both groups in
getDefaultFunctionAttributes() and setTargetAttributes() functions to
prevent getting them out of sync. This fixes C++ TLS wrappers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the initialization of ptrauth-* function attributes near the
initialization of branch protection attributes. The semantics of these
groups of attributes partially overlaps, so handle both groups in
getDefaultFunctionAttributes() and setTargetAttributes() functions to
prevent getting them out of sync. This fixes C++ TLS wrappers.</pre>
</div>
</content>
</entry>
<entry>
<title>clang: Remove dest LangAS argument from performAddrSpaceCast (#138866)</title>
<updated>2025-05-09T12:24:54+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-05-09T12:24:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5ae2aed218470783e6c7a2d255c7946f4549cb46'/>
<id>5ae2aed218470783e6c7a2d255c7946f4549cb46</id>
<content type='text'>
It isn't used and is redundant with the result pointer type argument.
A more reasonable API would only have LangAS parameters, or IR parameters,
not both. Not all values have a meaningful value for this. I'm also
not sure why we have this at all, it's not overridden by any targets and
further simplification is possible.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It isn't used and is redundant with the result pointer type argument.
A more reasonable API would only have LangAS parameters, or IR parameters,
not both. Not all values have a meaningful value for this. I'm also
not sure why we have this at all, it's not overridden by any targets and
further simplification is possible.</pre>
</div>
</content>
</entry>
<entry>
<title>[Clang][OpenCL][AMDGPU] Allow a kernel to call another kernel (#115821)</title>
<updated>2025-04-08T04:59:30+00:00</updated>
<author>
<name>Aniket Lal</name>
<email>lalaniket8@gmail.com</email>
</author>
<published>2025-04-08T04:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=642481a4286c9006958274531ee173b347866c50'/>
<id>642481a4286c9006958274531ee173b347866c50</id>
<content type='text'>
This feature is currently not supported in the compiler.
To facilitate this we emit a stub version of each kernel
function body with different name mangling scheme, and
replaces the respective kernel call-sites appropriately.
    
Fixes https://github.com/llvm/llvm-project/issues/60313
    
D120566 was an earlier attempt made to upstream a solution
for this issue.

---------

Co-authored-by: anikelal &lt;anikelal@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This feature is currently not supported in the compiler.
To facilitate this we emit a stub version of each kernel
function body with different name mangling scheme, and
replaces the respective kernel call-sites appropriately.
    
Fixes https://github.com/llvm/llvm-project/issues/60313
    
D120566 was an earlier attempt made to upstream a solution
for this issue.

---------

Co-authored-by: anikelal &lt;anikelal@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[Arm][AArch64][Clang] Respect function's branch protection attributes. (#101978)</title>
<updated>2024-08-09T15:51:38+00:00</updated>
<author>
<name>Daniel Kiss</name>
<email>daniel.kiss@arm.com</email>
</author>
<published>2024-08-09T15:51:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9e9fa00dcb9522db3f78d921eda6a18b9ee568bb'/>
<id>9e9fa00dcb9522db3f78d921eda6a18b9ee568bb</id>
<content type='text'>
Default attributes assigned to all functions according to the command
line parameters. Some functions might have their own attributes and we
need to set or remove attributes accordingly.
Tests are updated to test this scenarios too.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Default attributes assigned to all functions according to the command
line parameters. Some functions might have their own attributes and we
need to set or remove attributes accordingly.
Tests are updated to test this scenarios too.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][Clang] Move set functions out BranchProtectionInfo. (#98451)</title>
<updated>2024-07-12T08:58:34+00:00</updated>
<author>
<name>Daniel Kiss</name>
<email>daniel.kiss@arm.com</email>
</author>
<published>2024-07-12T08:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f34a1654d6f7d1b072a01e690f2330cfb2ca07d8'/>
<id>f34a1654d6f7d1b072a01e690f2330cfb2ca07d8</id>
<content type='text'>
To reduce build times move them to TargetCodeGenInfo.

Refactor of #98329</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To reduce build times move them to TargetCodeGenInfo.

Refactor of #98329</pre>
</div>
</content>
</entry>
<entry>
<title>[clang] Replace uses of CreatePointerBitCastOrAddrSpaceCast (NFC) (#68277)</title>
<updated>2023-11-11T15:57:44+00:00</updated>
<author>
<name>Youngsuk Kim</name>
<email>joseph942010@gmail.com</email>
</author>
<published>2023-11-11T15:57:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5c91b2886f6bf400b60ca7839069839ac3980f8f'/>
<id>5c91b2886f6bf400b60ca7839069839ac3980f8f</id>
<content type='text'>
With opaque pointers, `CreatePointerBitCastOrAddrSpaceCast` can be replaced with `CreateAddrSpaceCast`.
Replace or remove uses of `CreatePointerBitCastOrAddrSpaceCast`.

Opaque pointer cleanup effort.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With opaque pointers, `CreatePointerBitCastOrAddrSpaceCast` can be replaced with `CreateAddrSpaceCast`.
Replace or remove uses of `CreatePointerBitCastOrAddrSpaceCast`.

Opaque pointer cleanup effort.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][CodeGen] Break up TargetInfo.cpp [8/8]</title>
<updated>2023-06-17T04:14:50+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2023-05-09T15:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=992cb98462abb7630e87003516b75b241628f64c'/>
<id>992cb98462abb7630e87003516b75b241628f64c</id>
<content type='text'>
This commit breaks up CodeGen/TargetInfo.cpp into a set of *.cpp files,
one file per target. There are no functional changes, mostly just code moving.

Non-code-moving changes are:
* A virtual destructor has been added to DefaultABIInfo to pin the vtable to a cpp file.
* A few methods of ABIInfo and DefaultABIInfo were split into declaration + definition
  in order to reduce the number of transitive includes.
* Several functions that used to be static have been placed in clang::CodeGen
  namespace so that they can be accessed from other cpp files.

RFC: https://discourse.llvm.org/t/rfc-splitting-clangs-targetinfo-cpp/69883

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D148094
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit breaks up CodeGen/TargetInfo.cpp into a set of *.cpp files,
one file per target. There are no functional changes, mostly just code moving.

Non-code-moving changes are:
* A virtual destructor has been added to DefaultABIInfo to pin the vtable to a cpp file.
* A few methods of ABIInfo and DefaultABIInfo were split into declaration + definition
  in order to reduce the number of transitive includes.
* Several functions that used to be static have been placed in clang::CodeGen
  namespace so that they can be accessed from other cpp files.

RFC: https://discourse.llvm.org/t/rfc-splitting-clangs-targetinfo-cpp/69883

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D148094
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][CodeGen] Break up TargetInfo.cpp [7/8]</title>
<updated>2023-06-17T04:14:43+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2023-05-09T15:41:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=63534779b4ef1816e2961246011e2ec3be110d27'/>
<id>63534779b4ef1816e2961246011e2ec3be110d27</id>
<content type='text'>
Wrap calls to XXXTargetCodeGenInfo constructors into factory functions.
This allows moving implementations of TargetCodeGenInfo to dedicated cpp
files without a change.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D150215
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Wrap calls to XXXTargetCodeGenInfo constructors into factory functions.
This allows moving implementations of TargetCodeGenInfo to dedicated cpp
files without a change.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D150215
</pre>
</div>
</content>
</entry>
</feed>
