<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/utils/TableGen/MacroFusionPredicatorEmitter.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][MacroFusion] Predicate if the first inst has the same register (#137778)</title>
<updated>2025-05-13T11:05:42+00:00</updated>
<author>
<name>Pengcheng Wang</name>
<email>wangpengcheng.pp@bytedance.com</email>
</author>
<published>2025-05-13T11:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9570bf978d77aa53fffb50c60388da8f1bd71e4c'/>
<id>9570bf978d77aa53fffb50c60388da8f1bd71e4c</id>
<content type='text'>
We rename `SameReg` to `SecondInstHasSameReg ` and add
`FirstInstHasSameReg `
which has the logic but applies to the first instruction.

We have some cases that require the first instruction has the same
input/output register.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We rename `SameReg` to `SecondInstHasSameReg ` and add
`FirstInstHasSameReg `
which has the logic but applies to the first instruction.

We have some cases that require the first instruction has the same
input/output register.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][TableGen] Add {} for `else` when `if` body has {} (#139420)</title>
<updated>2025-05-12T15:34:12+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-05-12T15:34:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2e8b539e7138122ae6bd54a2dddc296386bd7e28'/>
<id>2e8b539e7138122ae6bd54a2dddc296386bd7e28</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Change `getValueAsListOfDefs` to return const pointer vector (#110713)</title>
<updated>2024-10-01T21:30:38+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-01T21:30:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a140931be5080543372ed833aea4e8f9c96bc4b5'/>
<id>a140931be5080543372ed833aea4e8f9c96bc4b5</id>
<content type='text'>
Change `getValueAsListOfDefs` to return a vector of const Record
pointer, and remove `getValueAsListOfConstDefs` that was added as a
transition aid.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change `getValueAsListOfDefs` to return a vector of const Record
pointer, and remove `getValueAsListOfConstDefs` that was added as a
transition aid.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][TableGen] Adopt scaled indent in PredicateExpander (#109801)</title>
<updated>2024-09-25T05:05:51+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-09-25T05:05:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c92137e474d504159bd9d51f125c8a9ba9141109'/>
<id>c92137e474d504159bd9d51f125c8a9ba9141109</id>
<content type='text'>
Adopt scaled indent in PredicateExpander.
Added pre/post inc/dec operators to `indent` and related unit tests.
Verified by comparing *.inc files generated by LLVM build with/without
the change.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adopt scaled indent in PredicateExpander.
Added pre/post inc/dec operators to `indent` and related unit tests.
Verified by comparing *.inc files generated by LLVM build with/without
the change.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][TableGen] Change MacroFusionPredicator to use const RecordKeeper (#109064)</title>
<updated>2024-09-18T16:59:24+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-09-18T16:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b18190ebfc4bc724eca07fb8432c3a3e899098b3'/>
<id>b18190ebfc4bc724eca07fb8432c3a3e899098b3</id>
<content type='text'>
Change MacroFusionPredicator to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change MacroFusionPredicator to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] MacroFusionPredicatorEmitter - pass constant std::vector arguments by ArrayRef instead</title>
<updated>2024-04-19T15:57:18+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2024-04-19T15:56:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=26a59bf6fcfe3717d41ae6a92b8e0d3913c3fc1f'/>
<id>26a59bf6fcfe3717d41ae6a92b8e0d3913c3fc1f</id>
<content type='text'>
Silence pass by value warnings

Fixes #89210
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Silence pass by value warnings

Fixes #89210
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen][NFC] Add maybe_unused to MRI (#87044)</title>
<updated>2024-04-01T10:04:28+00:00</updated>
<author>
<name>Pengcheng Wang</name>
<email>wangpengcheng.pp@bytedance.com</email>
</author>
<published>2024-04-01T10:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b342d87f89a7cc588abd0d28f69b8dfd9e5cfa0a'/>
<id>b342d87f89a7cc588abd0d28f69b8dfd9e5cfa0a</id>
<content type='text'>
This suppresses warning `unused variable 'MRI' [-Wunused-variable]`
for those fusions that don't need `MRI`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This suppresses warning `unused variable 'MRI' [-Wunused-variable]`
for those fusions that don't need `MRI`.</pre>
</div>
</content>
</entry>
<entry>
<title>[RFC][TableGen] Restructure TableGen Source (#80847)</title>
<updated>2024-03-25T08:40:35+00:00</updated>
<author>
<name>Pierre van Houtryve</name>
<email>pierre.vanhoutryve@amd.com</email>
</author>
<published>2024-03-25T08:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa3d789df15bd1f58fb8ba4ea3be909218cf7f03'/>
<id>fa3d789df15bd1f58fb8ba4ea3be909218cf7f03</id>
<content type='text'>
Refactor of the llvm-tblgen source into:
- a "Basic" library, which contains the bare minimum utilities to build
`llvm-min-tablegen`
- a "Common" library which contains all of the helpers for TableGen
backends. Such helpers can be shared by more than one backend, and even
unit tested (e.g. CodeExpander is, maybe we can add more over time)

Fixes #80647</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactor of the llvm-tblgen source into:
- a "Basic" library, which contains the bare minimum utilities to build
`llvm-min-tablegen`
- a "Common" library which contains all of the helpers for TableGen
backends. Such helpers can be shared by more than one backend, and even
unit tested (e.g. CodeExpander is, maybe we can add more over time)

Fixes #80647</pre>
</div>
</content>
</entry>
<entry>
<title>[MacroFusion] Support commutable instructions (#82751)</title>
<updated>2024-03-15T10:44:49+00:00</updated>
<author>
<name>Wang Pengcheng</name>
<email>wangpengcheng.pp@bytedance.com</email>
</author>
<published>2024-03-15T10:44:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b890a48a12aa5c851185ae2fd6273cd853fe0bc5'/>
<id>b890a48a12aa5c851185ae2fd6273cd853fe0bc5</id>
<content type='text'>
If the second instruction is commutable, we should be able to check
its commutable operands.

A simple RISCV fusion is contained in this PR to show the functionality
is correct, I may remove it when landing.

Fixes #82738</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the second instruction is commutable, we should be able to check
its commutable operands.

A simple RISCV fusion is contained in this PR to show the functionality
is correct, I may remove it when landing.

Fixes #82738</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Fix wrong codegen of BothFusionPredicateWithMCInstPredicate (#83990)</title>
<updated>2024-03-05T11:54:02+00:00</updated>
<author>
<name>Wang Pengcheng</name>
<email>wangpengcheng.pp@bytedance.com</email>
</author>
<published>2024-03-05T11:54:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=de1f33873beff93063577195e1214a9509e229e0'/>
<id>de1f33873beff93063577195e1214a9509e229e0</id>
<content type='text'>
We should generate the `MCInstPredicate` twice, one with `FirstMI`
and another with `SecondMI`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should generate the `MCInstPredicate` twice, one with `FirstMI`
and another with `SecondMI`.</pre>
</div>
</content>
</entry>
</feed>
