<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/utils/TableGen/CallingConvEmitter.cpp, 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>[LLVM][TableGen] Rename `ListInit::getValues()` to `getElements()` (#140289)</title>
<updated>2025-05-19T19:16:33+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-05-19T19:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3932360b14c390188977a53ecba6c13fff685aae'/>
<id>3932360b14c390188977a53ecba6c13fff685aae</id>
<content type='text'>
Rename `ListInit::getValues()` to `getElements()` to better match with
other `ListInit` members like `getElement`. Keep `getValues()` for
existing downstream code but mark it deprecated.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename `ListInit::getValues()` to `getElements()` to better match with
other `ListInit` members like `getElement`. Keep `getValues()` for
existing downstream code but mark it deprecated.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen][NFC] Use early exit to simplify large block in emitAction. (#138220)</title>
<updated>2025-05-08T17:12:15+00:00</updated>
<author>
<name>Jason Eckhardt</name>
<email>jeckhardt@nvidia.com</email>
</author>
<published>2025-05-08T17:12:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9692dff7b7624208f482007c3b76c838b12fda63'/>
<id>9692dff7b7624208f482007c3b76c838b12fda63</id>
<content type='text'>
Most of the processing in emitAction is in an unneeded else-block--
reduce indentation by exiting after the recursive call.

`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most of the processing in emitAction is in an unneeded else-block--
reduce indentation by exiting after the recursive call.

`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen][CallingConv] Add CCAssignToRegTuple for synthetic registers. (#137826)</title>
<updated>2025-04-30T23:32:37+00:00</updated>
<author>
<name>Jason Eckhardt</name>
<email>jeckhardt@nvidia.com</email>
</author>
<published>2025-04-30T23:32:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa'/>
<id>7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa</id>
<content type='text'>
Currently CCAssignToReg takes a list&lt;Register&gt;. There are tuple-heavy
back-ends where we would like to reference any register-- whether those
are singletons or those defined by RegisterTuples. However, the latter
are synthesized during tuple expansion and are not visible outside of
the register info emitter.

The problem is that the parser will see tuple registers as undefined
variables before the calling convention emitter is ever reached. To
defer evaluation of the symbol, we introduce CCAssignToRegTuple which
takes list&lt;string&gt; instead. This allows us to defer the actual
register name lookup until the emitter runs-- where we also validate
that the register actually exists.

This is currently used in a downstream back-end which will be upstreamed
very soon. In the meantime, a unit test is provided to exercise the
feature.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently CCAssignToReg takes a list&lt;Register&gt;. There are tuple-heavy
back-ends where we would like to reference any register-- whether those
are singletons or those defined by RegisterTuples. However, the latter
are synthesized during tuple expansion and are not visible outside of
the register info emitter.

The problem is that the parser will see tuple registers as undefined
variables before the calling convention emitter is ever reached. To
defer evaluation of the symbol, we introduce CCAssignToRegTuple which
takes list&lt;string&gt; instead. This allows us to defer the actual
register name lookup until the emitter runs-- where we also validate
that the register actually exists.

This is currently used in a downstream back-end which will be upstreamed
very soon. In the meantime, a unit test is provided to exercise the
feature.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen][NFC] Refactor/deduplicate emitAction. (#137434)</title>
<updated>2025-04-29T10:24:23+00:00</updated>
<author>
<name>Jason Eckhardt</name>
<email>jeckhardt@nvidia.com</email>
</author>
<published>2025-04-29T10:24:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e33cf4b0782bdbe74258baaa70057fdbec847a1d'/>
<id>e33cf4b0782bdbe74258baaa70057fdbec847a1d</id>
<content type='text'>
Currently there is a fair amount of code duplication in various parts of
emitAction. This patch factors out commonality among CCAssignToReg,
CCAssignToRegAndStack, CCAssignToRegWithShadow, and CCAssignToStack.

`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently there is a fair amount of code duplication in various parts of
emitAction. This patch factors out commonality among CCAssignToReg,
CCAssignToRegAndStack, CCAssignToRegWithShadow, and CCAssignToStack.

`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Use llvm::interleaved (NFC) (#137483)</title>
<updated>2025-04-27T01:18:46+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-04-27T01:18:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4c1dc85e265fb55612d589415dd439edac5f1545'/>
<id>4c1dc85e265fb55612d589415dd439edac5f1545</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Only store direct superclasses in Record (#123072)</title>
<updated>2025-04-24T17:57:51+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-04-24T17:57:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2bc6f9d4b6ff1d838f1c2d50cacbab6ba2f20bc9'/>
<id>2bc6f9d4b6ff1d838f1c2d50cacbab6ba2f20bc9</id>
<content type='text'>
In Record only store the direct superclasses instead of all
superclasses. getSuperClasses recurses to find all superclasses when
necessary.

This gives a small reduction in memory usage. On lib/Target/X86/X86.td I
measured about 2.0% reduction in total bytes allocated (measured by
valgrind) and 1.3% reduction in peak memory usage (measured by
/usr/bin/time -v).

---------

Co-authored-by: Min-Yih Hsu &lt;min@myhsu.dev&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Record only store the direct superclasses instead of all
superclasses. getSuperClasses recurses to find all superclasses when
necessary.

This gives a small reduction in memory usage. On lib/Target/X86/X86.td I
measured about 2.0% reduction in total bytes allocated (measured by
valgrind) and 1.3% reduction in peak memory usage (measured by
/usr/bin/time -v).

---------

Co-authored-by: Min-Yih Hsu &lt;min@myhsu.dev&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Avoid repeated hash lookups (NFC) (#120873)</title>
<updated>2024-12-22T09:30:27+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-12-22T09:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b0e43f815ac69eaab503984a187d8099b5c4b707'/>
<id>b0e43f815ac69eaab503984a187d8099b5c4b707</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Use `std::move` to avoid copy (#113061)</title>
<updated>2024-11-21T19:48:46+00:00</updated>
<author>
<name>abhishek-kaushik22</name>
<email>abhishek.kaushik@intel.com</email>
</author>
<published>2024-11-21T19:48:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=31ce47b5d602996406a516184af054a45118beca'/>
<id>31ce47b5d602996406a516184af054a45118beca</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] [NFC] Refine TableGen code to comply with `clang-tidy` checks (#113318)</title>
<updated>2024-10-29T18:10:54+00:00</updated>
<author>
<name>Jerry Sun</name>
<email>105613447+jerryyiransun@users.noreply.github.com</email>
</author>
<published>2024-10-29T18:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cdacc9b5c7ec020bad24dbdcbeba96ac1d2713e5'/>
<id>cdacc9b5c7ec020bad24dbdcbeba96ac1d2713e5</id>
<content type='text'>
Code cleanups for TableGen files, changes includes function names,
variable names and unused imports.

---------

Co-authored-by: Matt Arsenault &lt;Matthew.Arsenault@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Code cleanups for TableGen files, changes includes function names,
variable names and unused imports.

---------

Co-authored-by: Matt Arsenault &lt;Matthew.Arsenault@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Factor out timer code into a new `TGTimer` class (#111054)</title>
<updated>2024-10-04T16:23:55+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-04T16:23:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d883ef10767c5ac22b43f7f9f49e4565e7ce8263'/>
<id>d883ef10767c5ac22b43f7f9f49e4565e7ce8263</id>
<content type='text'>
Factor out the timer related functionality from `RecordKeeper` to a new
`TGTimer` class in a new file.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Factor out the timer related functionality from `RecordKeeper` to a new
`TGTimer` class in a new file.</pre>
</div>
</content>
</entry>
</feed>
