<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/Target/LLVM/ROCDL/Target.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][MLIR] Prefer triple overload of lookupTarget (#162187)</title>
<updated>2025-10-06T23:02:08+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>aidengrossman@google.com</email>
</author>
<published>2025-10-06T23:02:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=155380296ae9c12cf60562ad8397793feef6030d'/>
<id>155380296ae9c12cf60562ad8397793feef6030d</id>
<content type='text'>
The overloads accepting a string will be deprecated soon, similar to
other functions in TargetRegistry.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The overloads accepting a string will be deprecated soon, similar to
other functions in TargetRegistry.</pre>
</div>
</content>
</entry>
<entry>
<title>MC: Add Triple overloads for more MC constructors (#157321)</title>
<updated>2025-09-08T03:41:22+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-09-08T03:41:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67823469bd1c5f5416c4b009a895dcaffa971b69'/>
<id>67823469bd1c5f5416c4b009a895dcaffa971b69</id>
<content type='text'>
Avoids more Triple-&gt;string-&gt;Triple round trip. This
is a continuation of f137c3d592e96330e450a8fd63ef7e8877fc1908</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoids more Triple-&gt;string-&gt;Triple round trip. This
is a continuation of f137c3d592e96330e450a8fd63ef7e8877fc1908</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR][AMDGPU] Bump to COV6 (#133849)</title>
<updated>2025-04-02T16:14:24+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-04-02T16:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=84cb08e11866dda721e9a1b5a39c4e963fc36c32'/>
<id>84cb08e11866dda721e9a1b5a39c4e963fc36c32</id>
<content type='text'>
We already bump to COV6 by default in the front-end and backend. This PR
is for MLIR.

Note that COV6 requires ROCm 6.3+.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We already bump to COV6 by default in the front-end and backend. This PR
is for MLIR.

Note that COV6 requires ROCm 6.3+.</pre>
</div>
</content>
</entry>
<entry>
<title>[MLIR] Add a BlobAttr interface for attribute to wrap arbitrary content and use it as linkLibs for ModuleToObject (#120116)</title>
<updated>2024-12-17T00:30:56+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2024-12-17T00:30:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=72e8b9aeaa3f584f223bc59924812df69a09a48b'/>
<id>72e8b9aeaa3f584f223bc59924812df69a09a48b</id>
<content type='text'>
This change allows to expose through an interface attributes wrapping
content as external resources, and the usage inside the ModuleToObject
show how we will be able to provide runtime libraries without relying on
the filesystem.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change allows to expose through an interface attributes wrapping
content as external resources, and the usage inside the ModuleToObject
show how we will be able to provide runtime libraries without relying on
the filesystem.</pre>
</div>
</content>
</entry>
<entry>
<title>[ROCDL] Pass `amd_code_object_version` when serializing ROCDL gpu module (#108874)</title>
<updated>2024-09-20T14:53:09+00:00</updated>
<author>
<name>Umang Yadav</name>
<email>29876643+umangyadav@users.noreply.github.com</email>
</author>
<published>2024-09-20T14:53:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d0a7cb709eb282bb1e26d373a1cae97ae3d9372a'/>
<id>d0a7cb709eb282bb1e26d373a1cae97ae3d9372a</id>
<content type='text'>
This PR adds ability to pass non-default value to
`.amdhsa_code_object_version` metadata when serializing ROCDL GPU
modules.

It also fixes typos in two places.

---------

Co-authored-by: Fabian Mora &lt;fmora.dev@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds ability to pass non-default value to
`.amdhsa_code_object_version` metadata when serializing ROCDL GPU
modules.

It also fixes typos in two places.

---------

Co-authored-by: Fabian Mora &lt;fmora.dev@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][gpu] Add metadata attributes for storing kernel metadata in GPU objects (#95292)</title>
<updated>2024-08-27T22:44:50+00:00</updated>
<author>
<name>Fabian Mora</name>
<email>fmora.dev@gmail.com</email>
</author>
<published>2024-08-27T22:44:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=016e1eb9c86923bf6a9669697f6be8309d12b78c'/>
<id>016e1eb9c86923bf6a9669697f6be8309d12b78c</id>
<content type='text'>
This patch adds the `#gpu.kernel_metadata` and `#gpu.kernel_table`
attributes. The `#gpu.kernel_metadata` attribute allows storing metadata
related to a compiled kernel, for example, the number of scalar
registers used by the kernel. The attribute only has 2 required
parameters, the name and function type. It also has 2 optional
parameters, the arguments attributes and generic dictionary for storing
all other metadata.

The `#gpu.kernel_table` stores a table of `#gpu.kernel_metadata`,
mapping the name of the kernel to the metadata.

Finally, the function `ROCDL::getAMDHSAKernelsELFMetadata` was added to
collect ELF metadata from a binary, and to test the class methods in
both attributes.

Example:
```mlir
gpu.binary @binary [#gpu.object&lt;#rocdl.target&lt;chip = "gfx900"&gt;, kernels = #gpu.kernel_table&lt;[
    #gpu.kernel_metadata&lt;"kernel0", (i32) -&gt; (), metadata = {sgpr_count = 255}&gt;,
    #gpu.kernel_metadata&lt;"kernel1", (i32, f32) -&gt; (), arg_attrs = [{llvm.read_only}, {}]&gt;
  ]&gt; , bin = "BLOB"&gt;]

```
The motivation behind these attributes is to provide useful information
for things like tunning.

---------

Co-authored-by: Mehdi Amini &lt;joker.eph@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the `#gpu.kernel_metadata` and `#gpu.kernel_table`
attributes. The `#gpu.kernel_metadata` attribute allows storing metadata
related to a compiled kernel, for example, the number of scalar
registers used by the kernel. The attribute only has 2 required
parameters, the name and function type. It also has 2 optional
parameters, the arguments attributes and generic dictionary for storing
all other metadata.

The `#gpu.kernel_table` stores a table of `#gpu.kernel_metadata`,
mapping the name of the kernel to the metadata.

Finally, the function `ROCDL::getAMDHSAKernelsELFMetadata` was added to
collect ELF metadata from a binary, and to test the class methods in
both attributes.

Example:
```mlir
gpu.binary @binary [#gpu.object&lt;#rocdl.target&lt;chip = "gfx900"&gt;, kernels = #gpu.kernel_table&lt;[
    #gpu.kernel_metadata&lt;"kernel0", (i32) -&gt; (), metadata = {sgpr_count = 255}&gt;,
    #gpu.kernel_metadata&lt;"kernel1", (i32, f32) -&gt; (), arg_attrs = [{llvm.read_only}, {}]&gt;
  ]&gt; , bin = "BLOB"&gt;]

```
The motivation behind these attributes is to provide useful information
for things like tunning.

---------

Co-authored-by: Mehdi Amini &lt;joker.eph@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][gpu] Pass GPU module to `TargetAttrInterface::createObject`. (#94910)</title>
<updated>2024-08-27T15:05:04+00:00</updated>
<author>
<name>Fabian Mora</name>
<email>fmora.dev@gmail.com</email>
</author>
<published>2024-08-27T15:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fd36a7b9443921a4aa571549543244c5f1c9b6f8'/>
<id>fd36a7b9443921a4aa571549543244c5f1c9b6f8</id>
<content type='text'>
This patch adds an argument to `gpu::TargetAttrInterface::createObject`
to pass the GPU module. This is useful as `gpu::ObjectAttr` contains a
property dict for metadata, hence the module can be used for extracting
things like the symbol table and adding it to the property dict.

---------

Co-authored-by: Oleksandr "Alex" Zinenko &lt;ftynse@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds an argument to `gpu::TargetAttrInterface::createObject`
to pass the GPU module. This is useful as `gpu::ObjectAttr` contains a
property dict for metadata, hence the module can be used for extracting
things like the symbol table and adding it to the property dict.

---------

Co-authored-by: Oleksandr "Alex" Zinenko &lt;ftynse@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[MC] Remove unused bool arguments from createMCObjectStreamer callers</title>
<updated>2024-07-21T04:27:36+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2024-07-21T04:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b8220b986dcc8c5d0c44a125642009d8175fc11d'/>
<id>b8220b986dcc8c5d0c44a125642009d8175fc11d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][ROCDL] Construct AMDGCN ISA control variable explicitly (#98912)</title>
<updated>2024-07-16T14:16:00+00:00</updated>
<author>
<name>Fabian Mora</name>
<email>fmora.dev@gmail.com</email>
</author>
<published>2024-07-16T14:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=16dd75b41c511d92f3f1947ccbb61b8ad66bbcd0'/>
<id>16dd75b41c511d92f3f1947ccbb61b8ad66bbcd0</id>
<content type='text'>
This patch constructs the AMDGCN ISA control variable explicitly instead
of linking against the library shipped with ROCm. This change prevents
issues arising from the order in which the AMDGCN libraries are linked.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch constructs the AMDGCN ISA control variable explicitly instead
of linking against the library shipped with ROCm. This change prevents
issues arising from the order in which the AMDGCN libraries are linked.</pre>
</div>
</content>
</entry>
<entry>
<title>Reland [mlir][Target] Improve ROCDL gpu serialization API (#96198)</title>
<updated>2024-06-25T17:05:11+00:00</updated>
<author>
<name>Fabian Mora</name>
<email>fmora.dev@gmail.com</email>
</author>
<published>2024-06-25T17:05:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=70fb1e379b52bfab061fd608acb8c7d070d31ecd'/>
<id>70fb1e379b52bfab061fd608acb8c7d070d31ecd</id>
<content type='text'>
Reland: https://github.com/llvm/llvm-project/pull/95456

This patch improves the ROCDL gpu serialization API by:
- Introducing the enum `AMDGCNLibraries` for specifying the AMD GCN
device code libraries to use during linking.
- Removing `getCommonBitcodeLibs` in favor of `AMDGCNLibraries`.
Previously `getCommonBitcodeLibs` would try to load all AMD GCN bitcode
librariesm now it will only load the requested libraries.
- Exposing the `compileToBinary` method and making it virtual, allowing
downstream users to re-use this method.
- Exposing `moduleToObjectImpl`, this method provides a prototype flow
for compiling to binary, allowing downstream users to re-use this
method.
- It also avoids constructing the control variables if no device
libraries are being used.
- Changes the style of the error messages to be composable, ie no full
stops.
- Adds an error message for when the ROCm toolkit can't be found but it
was required.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reland: https://github.com/llvm/llvm-project/pull/95456

This patch improves the ROCDL gpu serialization API by:
- Introducing the enum `AMDGCNLibraries` for specifying the AMD GCN
device code libraries to use during linking.
- Removing `getCommonBitcodeLibs` in favor of `AMDGCNLibraries`.
Previously `getCommonBitcodeLibs` would try to load all AMD GCN bitcode
librariesm now it will only load the requested libraries.
- Exposing the `compileToBinary` method and making it virtual, allowing
downstream users to re-use this method.
- Exposing `moduleToObjectImpl`, this method provides a prototype flow
for compiling to binary, allowing downstream users to re-use this
method.
- It also avoids constructing the control variables if no device
libraries are being used.
- Changes the style of the error messages to be composable, ie no full
stops.
- Adds an error message for when the ROCm toolkit can't be found but it
was required.</pre>
</div>
</content>
</entry>
</feed>
