<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/TableGen/DetailedRecordsBackend.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] 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>[LLVM][TableGen] Change all `Init` pointers to const (#112705)</title>
<updated>2024-10-18T14:50:22+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-18T14:50:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=62e2c7fb2d18b43149a07526f6a3c0563d50e2fa'/>
<id>62e2c7fb2d18b43149a07526f6a3c0563d50e2fa</id>
<content type='text'>
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>
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] Change `Record::getSuperClasses` to use const Record* (#110845)</title>
<updated>2024-10-02T20:24:46+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-02T20:24:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=65e69f7436c08bb6a32a9d9784b2158b63af1955'/>
<id>65e69f7436c08bb6a32a9d9784b2158b63af1955</id>
<content type='text'>
Change `Record::getSuperClasses` to return a const pointer to the
superclass records.

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 `Record::getSuperClasses` to return a const pointer to the
superclass records.

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] Print memory stats in detailed record emitter (#106990)</title>
<updated>2024-09-04T14:04:32+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-09-04T14:04:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=30f1cfb4d0784de869ab3a4a9774b696b9769093'/>
<id>30f1cfb4d0784de869ab3a4a9774b696b9769093</id>
<content type='text'>
Print memory allocation and related statistics when dumping detailed
record information.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Print memory allocation and related statistics when dumping detailed
record information.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][TableGen] Refactor JSON and detailed record emitter (#105770)</title>
<updated>2024-08-26T23:57:18+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-08-26T23:57:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bcde45bae80cddeee37e1cda43ca62b980cffe9f'/>
<id>bcde45bae80cddeee37e1cda43ca62b980cffe9f</id>
<content type='text'>
- Fix JSON and detailed record emitters to use const reference and pointers.
- Fix code to use C++ structured bindings and range-based loops, including reverse() range for locations.
- Eliminate `NL` define for "\n".
- Change JSON emitter to populate `instance_list` in an earlier loop over superclasses instead of a separate loop.
- Rename variables in JSON emitter to conform to LLVM naming conventions.
- Eliminate unused headers in detailed record emitter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix JSON and detailed record emitters to use const reference and pointers.
- Fix code to use C++ structured bindings and range-based loops, including reverse() range for locations.
- Eliminate `NL` define for "\n".
- Change JSON emitter to populate `instance_list` in an earlier loop over superclasses instead of a separate loop.
- Rename variables in JSON emitter to conform to LLVM naming conventions.
- Eliminate unused headers in detailed record emitter.</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup include dependencies for LLVMTableGen</title>
<updated>2022-01-28T10:50:49+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2022-01-28T06:19:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=92f49b89e2d8aaa7826d96ec2d45dfe1102371b9'/>
<id>92f49b89e2d8aaa7826d96ec2d45dfe1102371b9</id>
<content type='text'>
Based on the output of include-what-you-use. No other library seems affected by
the new forward declaration.

$ clang++ -E  -Iinclude -I../llvm/include ../llvm/lib/TableGen/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l
before: 795231
after: 750654

Related Discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D118374
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Based on the output of include-what-you-use. No other library seems affected by
the new forward declaration.

$ clang++ -E  -Iinclude -I../llvm/include ../llvm/lib/TableGen/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l
before: 795231
after: 750654

Related Discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D118374
</pre>
</div>
</content>
</entry>
<entry>
<title>DetailedRecordsBackend.cpp - printSectionHeading - avoid std::string creation/copies.</title>
<updated>2021-06-13T15:49:40+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2021-06-13T15:49:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d1b57086d55afcfa94711a0b09c22a4113f6261f'/>
<id>d1b57086d55afcfa94711a0b09c22a4113f6261f</id>
<content type='text'>
Don't create std::string from constant c-strings or pass std::string by value - we can use StringRef instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't create std::string from constant c-strings or pass std::string by value - we can use StringRef instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>DetailedRecordsBackend.cpp - tidy implicit header dependencies. NFCI.</title>
<updated>2021-06-13T15:27:17+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2021-06-13T15:27:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a03d09f423a41098fe92286da8de25c5ade4ba25'/>
<id>a03d09f423a41098fe92286da8de25c5ade4ba25</id>
<content type='text'>
We don't use &lt;algorithm&gt;, &lt;set&gt; or &lt;vector&gt;, but we do use std::pair (&lt;utility&gt;).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't use &lt;algorithm&gt;, &lt;set&gt; or &lt;vector&gt;, but we do use std::pair (&lt;utility&gt;).
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] [DetailedRecords] Print record name that is null string as ""</title>
<updated>2021-01-27T15:41:46+00:00</updated>
<author>
<name>Paul C. Anagnostopoulos</name>
<email>paul@windfall.com</email>
</author>
<published>2021-01-24T18:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f3449ed6073cac58efd9b62d0eb285affa650238'/>
<id>f3449ed6073cac58efd9b62d0eb285affa650238</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D95312

Add a test for the backend.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: https://reviews.llvm.org/D95312

Add a test for the backend.
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Delete 11 unused declarations</title>
<updated>2020-12-06T21:21:07+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2020-12-06T21:21:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a2f922140f5380571fb74179f2bf622b3b925697'/>
<id>a2f922140f5380571fb74179f2bf622b3b925697</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
