<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.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>Register assembly printer passes (#138348)</title>
<updated>2025-05-07T01:01:17+00:00</updated>
<author>
<name>Matthias Braun</name>
<email>matze@braunis.de</email>
</author>
<published>2025-05-07T01:01:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=675cb706411ced3172bd21def5b38f5ee7cca308'/>
<id>675cb706411ced3172bd21def5b38f5ee7cca308</id>
<content type='text'>
Register assembly printer passes in the pass registry.

This makes it possible to use `llc -start-before=&lt;target&gt;-asm-printer ...` in tests.

Adds a `char &amp;ID` parameter to the AssemblyPrinter constructor to allow
targets to use the `INITIALIZE_PASS` macros and register the pass in the
pass registry. This currently has a default parameter so it won't break
any targets that have not been updated.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Register assembly printer passes in the pass registry.

This makes it possible to use `llc -start-before=&lt;target&gt;-asm-printer ...` in tests.

Adds a `char &amp;ID` parameter to the AssemblyPrinter constructor to allow
targets to use the `INITIALIZE_PASS` macros and register the pass in the
pass registry. This currently has a default parameter so it won't break
any targets that have not been updated.</pre>
</div>
</content>
</entry>
<entry>
<title>[RISCV] Replace @plt/@gotpcrel in data directives with %pltpcrel %gotpcrel</title>
<updated>2025-03-29T18:08:13+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2025-03-29T18:08:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe6fb910df9d1b9a9e2e7a6e8228d020668e0129'/>
<id>fe6fb910df9d1b9a9e2e7a6e8228d020668e0129</id>
<content type='text'>
clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo@plt` is different from
the legacy `call func@plt` (where `@plt` is simply ignored).

The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c

RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.

This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.

* MCValue::SymA can no longer have a SymbolVariant. Add an assert
  similar to that of AArch64ELFObjectWriter.cpp before
  https://reviews.llvm.org/D81446 (see my analysis at
  https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
  if intrigued)
* `jump foo@plt, x31` now has a different diagnostic.

Pull Request: https://github.com/llvm/llvm-project/pull/132569
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo@plt` is different from
the legacy `call func@plt` (where `@plt` is simply ignored).

The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c

RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.

This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.

* MCValue::SymA can no longer have a SymbolVariant. Add an assert
  similar to that of AArch64ELFObjectWriter.cpp before
  https://reviews.llvm.org/D81446 (see my analysis at
  https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
  if intrigued)
* `jump foo@plt, x31` now has a different diagnostic.

Pull Request: https://github.com/llvm/llvm-project/pull/132569
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Move into SIProgramInfo and cache getFunctionCodeSize. NFCI. (#127111)</title>
<updated>2025-02-18T02:22:48+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>rampitec@users.noreply.github.com</email>
</author>
<published>2025-02-18T02:22:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d19187f5fe01c89a09c1b2f14849a3f29988d6d5'/>
<id>d19187f5fe01c89a09c1b2f14849a3f29988d6d5</id>
<content type='text'>
This moves function as is, improvements to the estimate go into
a subseqent patch.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This moves function as is, improvements to the estimate go into
a subseqent patch.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Convert AMDGPUResourceUsageAnalysis pass from Module to MF pass (#102913)</title>
<updated>2024-09-30T10:43:34+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>janek.vanoirschot@amd.com</email>
</author>
<published>2024-09-30T10:43:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c897c13dde3bb413e723317c0579781fb6045a8b'/>
<id>c897c13dde3bb413e723317c0579781fb6045a8b</id>
<content type='text'>
Converts AMDGPUResourceUsageAnalysis pass from Module to MachineFunction
pass. Moves function resource info propagation to to MC layer (through
helpers in AMDGPUMCResourceInfo) by generating MCExprs for every
function resource which the emitters have been prepped for.

Fixes https://github.com/llvm/llvm-project/issues/64863</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Converts AMDGPUResourceUsageAnalysis pass from Module to MachineFunction
pass. Moves function resource info propagation to to MC layer (through
helpers in AMDGPUMCResourceInfo) by generating MCExprs for every
function resource which the emitters have been prepped for.

Fixes https://github.com/llvm/llvm-project/issues/64863</pre>
</div>
</content>
</entry>
<entry>
<title>[AsmPrinter] Don't EmitToStreamer instructions lowered by tblgenned code (#100803)</title>
<updated>2024-07-29T16:18:18+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2024-07-29T16:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7a2a36f952e5f1c0184e5de0bb8a32b5d2382427'/>
<id>7a2a36f952e5f1c0184e5de0bb8a32b5d2382427</id>
<content type='text'>
This allows lowering individual instructions in a bundle before a single
call to EmitToStreamer for VLIW targets.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows lowering individual instructions in a bundle before a single
call to EmitToStreamer for VLIW targets.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] MCExpr-ify AMDGPU HSAMetadata (#94788)</title>
<updated>2024-06-26T15:39:08+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>janek.vanoirschot@amd.com</email>
</author>
<published>2024-06-26T15:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=17eaa23f7ecdfe79ad74552aaa260e6ce32432c2'/>
<id>17eaa23f7ecdfe79ad74552aaa260e6ce32432c2</id>
<content type='text'>
Enables MCExpr for HSAMetadata, particularly, HSAMetadata's msgpack format.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enables MCExpr for HSAMetadata, particularly, HSAMetadata's msgpack format.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Support SIProgramInfo MCExpr for comments and remarks (#94350)</title>
<updated>2024-06-10T11:34:06+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>janek.vanoirschot@amd.com</email>
</author>
<published>2024-06-10T11:34:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bc022b406d094d3c7b6d04c97b8bcf3109c6d74e'/>
<id>bc022b406d094d3c7b6d04c97b8bcf3109c6d74e</id>
<content type='text'>
Eliminates assumption that MCExpr comments/remarks being emitted are
always resolvable</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminates assumption that MCExpr comments/remarks being emitted are
always resolvable</pre>
</div>
</content>
</entry>
<entry>
<title>MCExpr-ify amd_kernel_code_t (#91587)</title>
<updated>2024-05-22T12:45:45+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>janek.vanoirschot@amd.com</email>
</author>
<published>2024-05-22T12:45:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b'/>
<id>a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b</id>
<content type='text'>
Redefines the amd_kernel_code_t struct with MCExprs for members that would be
derived from SIProgramInfo MCExpr members.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Redefines the amd_kernel_code_t struct with MCExprs for members that would be
derived from SIProgramInfo MCExpr members.</pre>
</div>
</content>
</entry>
<entry>
<title>MCExpr-ify SIProgramInfo (#88257)</title>
<updated>2024-05-09T12:02:32+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>5994977+JanekvO@users.noreply.github.com</email>
</author>
<published>2024-05-09T12:02:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d86b68afd7f0d7684adc312bcdc87f9027d0d896'/>
<id>d86b68afd7f0d7684adc312bcdc87f9027d0d896</id>
<content type='text'>
Convert members in SIProgramInfo affected by variables provided by AMDGPUResourceUsageAnalysis into MCExprs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert members in SIProgramInfo affected by variables provided by AMDGPUResourceUsageAnalysis into MCExprs.</pre>
</div>
</content>
</entry>
<entry>
<title>Reland [AMDGPU] MCExpr-ify MC layer kernel descriptor (#86494)</title>
<updated>2024-03-27T11:59:56+00:00</updated>
<author>
<name>Janek van Oirschot</name>
<email>5994977+JanekvO@users.noreply.github.com</email>
</author>
<published>2024-03-27T11:59:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1103a2a337e90d8c7cc417b89e43c7a33aaea21e'/>
<id>1103a2a337e90d8c7cc417b89e43c7a33aaea21e</id>
<content type='text'>
Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.

Relands #80855 with fixes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.

Relands #80855 with fixes</pre>
</div>
</content>
</entry>
</feed>
