<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/utils/TableGen/DAGISelMatcherGen.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>[TableGen] Use default member initializers. NFC. (#144349)</title>
<updated>2025-06-16T14:26:47+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-06-16T14:26:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=39ad3151e073e9f721d1e2e2849fb4bdc9443ae3'/>
<id>39ad3151e073e9f721d1e2e2849fb4bdc9443ae3</id>
<content type='text'>
Automated with clang-tidy -fix -checks=-*,modernize-use-default-member-init</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Automated with clang-tidy -fix -checks=-*,modernize-use-default-member-init</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Use range-based for loops (NFC) (#144283)</title>
<updated>2025-06-16T04:00:29+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-06-16T04:00:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7a4a83b551eaf159ce10b612def3be62d80706d4'/>
<id>7a4a83b551eaf159ce10b612def3be62d80706d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Make more use of findSubRegIdx. NFCI. (#142996)</title>
<updated>2025-06-05T17:06:57+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-06-05T17:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=63244932fa73f4189b2d90167cf0d4c7dff4b7e9'/>
<id>63244932fa73f4189b2d90167cf0d4c7dff4b7e9</id>
<content type='text'>
Outside of CodeGenRegisters itself, we only want to find existing
SubRegIdxs, not create new ones. Change findSubRegIdx to assert and use
it consistently for this purpose.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Outside of CodeGenRegisters itself, we only want to find existing
SubRegIdxs, not create new ones. Change findSubRegIdx to assert and use
it consistently for this purpose.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][TableGen] Use StringRef for various members `CGIOperandList::OperandInfo` (#140625)</title>
<updated>2025-05-21T13:23:01+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-05-21T13:23:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b5e3d8ec084d94265b0edc58b82f57597abe645b'/>
<id>b5e3d8ec084d94265b0edc58b82f57597abe645b</id>
<content type='text'>
- Change `Name`, `SubopNames`, `PrinterMethodName`, and
`EncoderMethodNames` to be stored as StringRef.
- Also changed `CheckComplexPatMatcher::Name` to StringRef as a fallout
from the above.

Verified that all the tablegen generated files within LLVM are
unchanged.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Change `Name`, `SubopNames`, `PrinterMethodName`, and
`EncoderMethodNames` to be stored as StringRef.
- Also changed `CheckComplexPatMatcher::Name` to StringRef as a fallout
from the above.

Verified that all the tablegen generated files within LLVM are
unchanged.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][TableGen] Use StringRef::str() instead of casting (#139332)</title>
<updated>2025-05-12T22:41:27+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-05-12T22:41:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58'/>
<id>9981afc5f9d1bb84e35d562f2a1d0f6bf56fcb58</id>
<content type='text'>
- Also eliminate unneeded std::string() around some literal strings.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Also eliminate unneeded std::string() around some literal strings.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Use range-based for loop. NFC</title>
<updated>2025-02-02T07:44:43+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2025-02-02T07:44:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2eabcb73c2aea04720854d4c999019cab2b18efb'/>
<id>2eabcb73c2aea04720854d4c999019cab2b18efb</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::pair instead of std::make_pair. NFC. (#123174)</title>
<updated>2025-01-16T13:20:41+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-01-16T13:20:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4e8c9d28132039a98feb97cec2759cddeb37d934'/>
<id>4e8c9d28132039a98feb97cec2759cddeb37d934</id>
<content type='text'>
Also use brace initialization and emplace to avoid explicitly 
constructing std::pair, and the same for std::tuple.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also use brace initialization and emplace to avoid explicitly 
constructing std::pair, and the same for std::tuple.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Add TreePatternNode::children and use it in for loops (NFC) (#119877)</title>
<updated>2024-12-13T19:05:57+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2024-12-13T19:05:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d1f51c67fde6f77b78f78901fb78e3589430a299'/>
<id>d1f51c67fde6f77b78f78901fb78e3589430a299</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 more comments for result numbers to DAGISelEmitter.cpp (#116533)</title>
<updated>2024-11-18T03:11:28+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-11-18T03:11:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=92ffefe3510e0cbf5b9ded0f2e2caff4e6803f17'/>
<id>92ffefe3510e0cbf5b9ded0f2e2caff4e6803f17</id>
<content type='text'>
Print what result number the Emit* nodes are storing their results in.
This makes it easy to track the inputs of later opcodes that consume
these results.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Print what result number the Emit* nodes are storing their results in.
This makes it easy to track the inputs of later opcodes that consume
these results.</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen][SelectionDAG] Remove the `implicit` DAG node (#115295)</title>
<updated>2024-11-09T04:25:40+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2024-11-09T04:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=501a58344179242f702f55e0ee5c039290426c54'/>
<id>501a58344179242f702f55e0ee5c039290426c54</id>
<content type='text'>
The node was introduced in 59c39dc1 and was intended to allow writing
patterns like this:
`[(set AL, (mul AL, GR8:$src1)), (implicit EFLAGS)]`

However, it does not introduce new functionality because the same
pattern can be equivalently expressed as:
`[(set AL, EFLAGS, (mul AL, GR8:$src1))]`

The latter form is also more flexible as it allows reordering output
operands.

In most places uses of `implicit` were redundant -- removing them didn't
change anything in the generated DAG tables. The only three cases where
it did have effect are in X86InstrArithmetic.td and X86InstrSystem.td --
those were rewritten to use `set` node.

Removing `implicit` from some patterns made them importable by GISel,
hence the change in a test.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The node was introduced in 59c39dc1 and was intended to allow writing
patterns like this:
`[(set AL, (mul AL, GR8:$src1)), (implicit EFLAGS)]`

However, it does not introduce new functionality because the same
pattern can be equivalently expressed as:
`[(set AL, EFLAGS, (mul AL, GR8:$src1))]`

The latter form is also more flexible as it allows reordering output
operands.

In most places uses of `implicit` were redundant -- removing them didn't
change anything in the generated DAG tables. The only three cases where
it did have effect are in X86InstrArithmetic.td and X86InstrSystem.td --
those were rewritten to use `set` node.

Removing `implicit` from some patterns made them importable by GISel,
hence the change in a test.</pre>
</div>
</content>
</entry>
</feed>
