<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/utils/TableGen/Common/CodeGenRegisters.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>[TableGen] Use "using" instead of "typedef" (NFC) (#167168)</title>
<updated>2025-11-08T21:09:03+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-11-08T21:09:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=02976f5ffa20bc353e75146f9154df3162179e8b'/>
<id>02976f5ffa20bc353e75146f9154df3162179e8b</id>
<content type='text'>
Identified with modernize-use-using.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with modernize-use-using.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Remove redundant typename (NFC) (#166087)</title>
<updated>2025-11-02T21:15:16+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-11-02T21:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=707bab651ff39f399e2fa2c9c185d9a2795e8be8'/>
<id>707bab651ff39f399e2fa2c9c185d9a2795e8be8</id>
<content type='text'>
Identified with readability-redundant-typename.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with readability-redundant-typename.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][TableGen] Fix namespace usage in various files (#161839)</title>
<updated>2025-10-03T16:27:04+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-10-03T16:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bd7e228fa43d7da93aef19892cd8a7de3350835e'/>
<id>bd7e228fa43d7da93aef19892cd8a7de3350835e</id>
<content type='text'>
- Move standalone functions and variables out of anonymous namespace and
make them static.
- Eliminate `namespace llvm {}` wrapping all code in .cpp files, and
instead use namespace qualifier to define such functions
(https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions)
- Add namespace for X86DisassemblerShared.h.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Move standalone functions and variables out of anonymous namespace and
make them static.
- Eliminate `namespace llvm {}` wrapping all code in .cpp files, and
instead use namespace qualifier to define such functions
(https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions)
- Add namespace for X86DisassemblerShared.h.</pre>
</div>
</content>
</entry>
<entry>
<title>CodeGen: Do not store RegisterClass copy costs as a signed value (#161786)</title>
<updated>2025-10-03T15:10:02+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-10-03T15:10:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3c6cd732eb59b50fa2394f659763f5d216b76703'/>
<id>3c6cd732eb59b50fa2394f659763f5d216b76703</id>
<content type='text'>
Tolerate setting negative values in tablegen, and store them as a
saturated uint8_t value. This will allow naive uses of the copy cost
to directly add it as a cost without considering the degenerate negative
case. The degenerate negative cases are only used in InstrEmitter / DAG
scheduling, so leave the special case processing there. There are also
fixmes about this system already there.

This is the expedient fix for an out of tree target regression
after #160084. Currently targets can set a negative copy cost to mark
copies as "impossible". However essentially all the in-tree uses only
uses this for non-allocatable condition registers. We probably should
replace the InstrEmitter/DAG scheduler uses with a more direct check
for a copyable register but that has test changes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tolerate setting negative values in tablegen, and store them as a
saturated uint8_t value. This will allow naive uses of the copy cost
to directly add it as a cost without considering the degenerate negative
case. The degenerate negative cases are only used in InstrEmitter / DAG
scheduling, so leave the special case processing there. There are also
fixmes about this system already there.

This is the expedient fix for an out of tree target regression
after #160084. Currently targets can set a negative copy cost to mark
copies as "impossible". However essentially all the in-tree uses only
uses this for non-allocatable condition registers. We probably should
replace the InstrEmitter/DAG scheduler uses with a more direct check
for a copyable register but that has test changes.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Use getValueAsOptionalDef to simplify code (NFC) (#153170)</title>
<updated>2025-08-12T14:44:01+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2025-08-12T14:44:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2f9f92ad01c06c7b02d15a730cd609db95705882'/>
<id>2f9f92ad01c06c7b02d15a730cd609db95705882</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Add some -time-phases support in CodeGenRegisters (#149309)</title>
<updated>2025-07-18T21:05:54+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-07-18T21:05:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3be44e25804e776d3ff071740a60ae6d2f3ef4a7'/>
<id>3be44e25804e776d3ff071740a60ae6d2f3ef4a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Add a bitvector of members of CodeGenRegisterClass (#149122)</title>
<updated>2025-07-16T19:31:32+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-07-16T19:31:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4355356d96de1e171f7511a6c41d056871dacc68'/>
<id>4355356d96de1e171f7511a6c41d056871dacc68</id>
<content type='text'>
This makes CodeGenRegisterClass::contains fast. Use this to simplify
inferMatchingSuperRegClass.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes CodeGenRegisterClass::contains fast. Use this to simplify
inferMatchingSuperRegClass.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Remove unnecessary sortAndUniqueRegisters (#149125)</title>
<updated>2025-07-16T19:27:50+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-07-16T19:27:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=362594a10fa5fd8e5f8d31eb5391370c928b639e'/>
<id>362594a10fa5fd8e5f8d31eb5391370c928b639e</id>
<content type='text'>
Each of the SRSets is already sorted and unique because it is a filtered
version of RC-&gt;getMembers() which is already sorted and unique.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Each of the SRSets is already sorted and unique because it is a filtered
version of RC-&gt;getMembers() which is already sorted and unique.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Remove RegUnitIterator. NFC. (#147483)</title>
<updated>2025-07-08T15:18:30+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-07-08T15:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2fd37c9f33f24dda4125fe9c7cfc4002f6e37922'/>
<id>2fd37c9f33f24dda4125fe9c7cfc4002f6e37922</id>
<content type='text'>
TableGen's RegUnitIterator is a strange contraption that iterates over a
range of registers as well as the regunits of each register. Since it is
only used in one place in a `for` loop, it is much simpler to use two
nested loops instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
TableGen's RegUnitIterator is a strange contraption that iterates over a
range of registers as well as the regunits of each register. Since it is
only used in one place in a `for` loop, it is much simpler to use two
nested loops instead.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use llvm::is_contained (NFC) (#145844)</title>
<updated>2025-06-26T15:41:18+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-06-26T15:41:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3d5903c4d8a698aac1ff82b4ce3fbba264902d6c'/>
<id>3d5903c4d8a698aac1ff82b4ce3fbba264902d6c</id>
<content type='text'>
llvm::is_contained is shorter than llvm::all_of plus a lambda.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm::is_contained is shorter than llvm::all_of plus a lambda.</pre>
</div>
</content>
</entry>
</feed>
