<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h, branch users/nico/python-2</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>[AMDGPU] Update pal metadata for v3.6 and fix v3.0 (#135196)</title>
<updated>2025-04-28T12:31:14+00:00</updated>
<author>
<name>David Stuttard</name>
<email>david.stuttard@amd.com</email>
</author>
<published>2025-04-28T12:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1a32613dacac8de3f41be5e75ea1f70cba87dd0f'/>
<id>1a32613dacac8de3f41be5e75ea1f70cba87dd0f</id>
<content type='text'>
Update entry_point for all pal versions below 3.6.
3.6 and above removes entry_point.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update entry_point for all pal versions below 3.6.
3.6 and above removes entry_point.</pre>
</div>
</content>
</entry>
<entry>
<title>MCExpr-ify AMDGPU PALMetadata (#93236)</title>
<updated>2024-06-13T12:59:31+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>janek.vanoirschot@amd.com</email>
</author>
<published>2024-06-13T12:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3d1705d00c5f183b73d69aa0ceca481845e82fe8'/>
<id>3d1705d00c5f183b73d69aa0ceca481845e82fe8</id>
<content type='text'>
Allows MCExprs as passed values to PALMetadata. Also adds related
`DelayedMCExpr` classes which serve as a pseudo-fixup to resolve MCExprs
as late as possible (i.e., right before emit through string or blob,
where they should be resolvable).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows MCExprs as passed values to PALMetadata. Also adds related
`DelayedMCExpr` classes which serve as a pseudo-fixup to resolve MCExprs
as late as possible (i.e., right before emit through string or blob,
where they should be resolvable).</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Avoid CodeGen dependencies from AMDGPU/Utils and MCTargetDesc</title>
<updated>2023-07-27T22:19:24+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2023-07-26T21:47:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f86c81b2a896eb6fabda38f68eefb8ac982423cc'/>
<id>f86c81b2a896eb6fabda38f68eefb8ac982423cc</id>
<content type='text'>
This required two substantial changes:
1. Moving a `getRegBitWidth(TargetRegisterClass)` overload out of Utils
   and into CodeGen
2. Passing the string function name to AMDGPUPALMetadata instead of the
   MachineFunction

Other changes are minor or updates to accommodate the first two.

See issue #64166 for more information on the layering issue.

Differential Revision: https://reviews.llvm.org/D156486
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This required two substantial changes:
1. Moving a `getRegBitWidth(TargetRegisterClass)` overload out of Utils
   and into CodeGen
2. Passing the string function name to AMDGPUPALMetadata instead of the
   MachineFunction

Other changes are minor or updates to accommodate the first two.

See issue #64166 for more information on the layering issue.

Differential Revision: https://reviews.llvm.org/D156486
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Add backend support for new PAL ELF Metadata 3.0</title>
<updated>2023-04-14T08:57:13+00:00</updated>
<author>
<name>David Stuttard</name>
<email>david.stuttard@amd.com</email>
</author>
<published>2023-02-20T17:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fc83f1de5d5f6d49de6d62fef6379fb1aab497d3'/>
<id>fc83f1de5d5f6d49de6d62fef6379fb1aab497d3</id>
<content type='text'>
PAL Metadata 3.0 introduces an explicit structure in metadata for the
programmable registers written out by the compiler backend.
Rather than using opaque registers which can change between different
architectures and requires encoding the bitfield information in the backend,
which may change between versions.

This is the initial minimal implementation that enables the use of PAL Metadata
3.0.

The change itself should be NFC for non-PAL, although the way RSRC2 register is
handled has been changed slightly.

The test is fairly minimal, but checks that the metadata format looks as
expected and verifies a couple of special cases such as tgid_[xyz]_en handling
and PsInputAddr/Ena which also change to explicit fields.

Differential Revision: https://reviews.llvm.org/D147143
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PAL Metadata 3.0 introduces an explicit structure in metadata for the
programmable registers written out by the compiler backend.
Rather than using opaque registers which can change between different
architectures and requires encoding the bitfield information in the backend,
which may change between versions.

This is the initial minimal implementation that enables the use of PAL Metadata
3.0.

The change itself should be NFC for non-PAL, although the way RSRC2 register is
handled has been changed slightly.

The test is fairly minimal, but checks that the metadata format looks as
expected and verifies a couple of special cases such as tgid_[xyz]_en handling
and PsInputAddr/Ena which also change to explicit fields.

Differential Revision: https://reviews.llvm.org/D147143
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Add agpr_count to metadata and AsmParser</title>
<updated>2022-02-16T23:17:23+00:00</updated>
<author>
<name>Jacob Lambert</name>
<email>jacob.lambert@amd.com</email>
</author>
<published>2022-02-02T03:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7470244475f85e9c8d7c46da87780935860d8026'/>
<id>7470244475f85e9c8d7c46da87780935860d8026</id>
<content type='text'>
gfx90a allows the number of ACC registers (AGPRs) to be set
independently to the VGPR registers. For both HSA and PAL metadata, we
now include an "agpr_count" key to report the number of AGPRs set for
supported devices (gfx90a, gfx908, as determined by hasMAIInsts()).
This is collected from SIProgramInfo.NumAccVGPR for both HSA and PAL.
The AsmParser also now recognizes ".kernel.agpr_count" for supported
devices.

Differential Revision: https://reviews.llvm.org/D116140
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
gfx90a allows the number of ACC registers (AGPRs) to be set
independently to the VGPR registers. For both HSA and PAL metadata, we
now include an "agpr_count" key to report the number of AGPRs set for
supported devices (gfx90a, gfx908, as determined by hasMAIInsts()).
This is collected from SIProgramInfo.NumAccVGPR for both HSA and PAL.
The AsmParser also now recognizes ".kernel.agpr_count" for supported
devices.

Differential Revision: https://reviews.llvm.org/D116140
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Set optional PAL metadata</title>
<updated>2021-07-06T09:58:00+00:00</updated>
<author>
<name>Sebastian Neubauer</name>
<email>sebastian.neubauer@amd.com</email>
</author>
<published>2021-06-29T09:22:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=db646de3ee0181c93744b69cb51baeff17d70a00'/>
<id>db646de3ee0181c93744b69cb51baeff17d70a00</id>
<content type='text'>
Set informational fields in the .shader_functions table.

Also correct the documentation, .scratch_memory_size and .lds_size are
integers.

Differential Revision: https://reviews.llvm.org/D105116
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set informational fields in the .shader_functions table.

Also correct the documentation, .scratch_memory_size and .lds_size are
integers.

Differential Revision: https://reviews.llvm.org/D105116
</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Add target id and code object v4 support</title>
<updated>2021-03-24T15:54:05+00:00</updated>
<author>
<name>Konstantin Zhuravlyov</name>
<email>kzhuravl_dev@outlook.com</email>
</author>
<published>2021-03-24T15:52:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f4ace6373747a661ebdae7a14f9e510c7adfea4e'/>
<id>f4ace6373747a661ebdae7a14f9e510c7adfea4e</id>
<content type='text'>
  - Add target id support (https://clang.llvm.org/docs/ClangOffloadBundler.html#target-id)
  - Add code object v4 support (https://llvm.org/docs/AMDGPUUsage.html#elf-code-object)
    - Add kernarg_size to kernel descriptor
    - Change trap handler ABI to no longer move queue pointer into s[0:1]
  - Cleanup ELF definitions
    - Add V2, V3, V4 suffixes to make a clear distinction for code object version
    - Consolidate note names

Differential Revision: https://reviews.llvm.org/D95638
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  - Add target id support (https://clang.llvm.org/docs/ClangOffloadBundler.html#target-id)
  - Add code object v4 support (https://llvm.org/docs/AMDGPUUsage.html#elf-code-object)
    - Add kernarg_size to kernel descriptor
    - Change trap handler ABI to no longer move queue pointer into s[0:1]
  - Cleanup ELF definitions
    - Add V2, V3, V4 suffixes to make a clear distinction for code object version
    - Consolidate note names

Differential Revision: https://reviews.llvm.org/D95638
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][AMDGPU] Reduce include files dependency.</title>
<updated>2021-01-07T19:22:05+00:00</updated>
<author>
<name>dfukalov</name>
<email>daniil.fukalov@amd.com</email>
</author>
<published>2020-12-25T15:52:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6a87e9b08bf093ba3ccba8650b89f4d337c497f4'/>
<id>6a87e9b08bf093ba3ccba8650b89f4d337c497f4</id>
<content type='text'>
Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D93813
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D93813
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Mark amdgpu_gfx functions as module entry function</title>
<updated>2020-12-14T09:43:39+00:00</updated>
<author>
<name>Sebastian Neubauer</name>
<email>sebastian.neubauer@amd.com</email>
</author>
<published>2020-12-09T16:25:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5733167f54a582d52fc06617646c13cd1e0b3362'/>
<id>5733167f54a582d52fc06617646c13cd1e0b3362</id>
<content type='text'>
- Allows lds allocations
- Writes resource usage into COMPUTE_PGM_RSRC1 registers in PAL metadata

Differential Revision: https://reviews.llvm.org/D92946
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Allows lds allocations
- Writes resource usage into COMPUTE_PGM_RSRC1 registers in PAL metadata

Differential Revision: https://reviews.llvm.org/D92946
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Emit stack frame size in metadata</title>
<updated>2020-11-25T15:30:02+00:00</updated>
<author>
<name>Sebastian Neubauer</name>
<email>sebastian.neubauer@amd.com</email>
</author>
<published>2020-10-23T09:20:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=edd675643d5ff49e6ea01af2a2a9b40498b3226c'/>
<id>edd675643d5ff49e6ea01af2a2a9b40498b3226c</id>
<content type='text'>
Add .shader_functions to pal metadata, which contains the stack frame
size for all non-entry-point functions.

Differential Revision: https://reviews.llvm.org/D90036
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add .shader_functions to pal metadata, which contains the stack frame
size for all non-entry-point functions.

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