<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/TableGen/TableGenBackend.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] Change backend callback to require const RecordKeeper (#111064)</title>
<updated>2024-10-04T16:24:48+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-04T16:24:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b91f0def6f261064cedfe0e62395c0097130b8f1'/>
<id>b91f0def6f261064cedfe0e62395c0097130b8f1</id>
<content type='text'>
Change TableGen backend callback function to require a const
RecordKeeper argument (by changing it from function_ref to just a
function pointer). This undoes parts of
https://github.com/llvm/llvm-project/pull/104716 which was added to
enable gradual migration of TableGen backends to use const RecordKeeper
(by allowing either const or non-const references). Now that all
backends have been migrated to const reference, we do not need this.

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 TableGen backend callback function to require a const
RecordKeeper argument (by changing it from function_ref to just a
function pointer). This undoes parts of
https://github.com/llvm/llvm-project/pull/104716 which was added to
enable gradual migration of TableGen backends to use const RecordKeeper
(by allowing either const or non-const references). Now that all
backends have been migrated to const reference, we do not need this.

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] Allow emitter callbacks to use `const RecordKeeper &amp;` (#104716)</title>
<updated>2024-08-26T19:10:33+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-08-26T19:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=34dee0a96105d6aeb8b386efbbbfe437ab1be02e'/>
<id>34dee0a96105d6aeb8b386efbbbfe437ab1be02e</id>
<content type='text'>
- Refactor TableGen backend options to allow specifying a callback
  function that takes either a const reference or a non-const reference
  to `RecordKeeper`. This will enable gradual migration of code to use
  const references and pointers to `RecordKeeper` and  `Record` in the
  TableGen backends. 

- Refactor handling of the callback command line options. Move variable
  for the command line option from the header to the CPP file, and add a
  function `ApplyCallback` to apply the selected callback.

- Change callbacks in TableGen.cpp to take const reference. They use the
  `Opt` class to register their callbacks.

- Change IntrinsicEmitter to use the `OptClass` to define its callbacks.
  It already uses a const reference in the implementation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Refactor TableGen backend options to allow specifying a callback
  function that takes either a const reference or a non-const reference
  to `RecordKeeper`. This will enable gradual migration of code to use
  const references and pointers to `RecordKeeper` and  `Record` in the
  TableGen backends. 

- Refactor handling of the callback command line options. Move variable
  for the command line option from the header to the CPP file, and add a
  function `ApplyCallback` to apply the selected callback.

- Change callbacks in TableGen.cpp to take const reference. They use the
  `Opt` class to register their callbacks.

- Change IntrinsicEmitter to use the `OptClass` to define its callbacks.
  It already uses a const reference in the implementation.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm][tblgen] Add `Source Filename` for `emitSourceFileHeader` (#65744)</title>
<updated>2023-09-26T05:40:56+00:00</updated>
<author>
<name>Shao-Ce SUN</name>
<email>ssc@lanxincomputing.com</email>
</author>
<published>2023-09-26T05:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b0e28eb832710964067a17d845de15ada2da2b9c'/>
<id>b0e28eb832710964067a17d845de15ada2da2b9c</id>
<content type='text'>
I think this is very helpful for reading generated `.inc` files.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think this is very helpful for reading generated `.inc` files.</pre>
</div>
</content>
</entry>
<entry>
<title>Reformat</title>
<updated>2023-09-26T03:29:21+00:00</updated>
<author>
<name>NAKAMURA Takumi</name>
<email>geek4civic@gmail.com</email>
</author>
<published>2023-09-26T02:44:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c84f9f9a81e496acbef0855cbbb0858c817576dc'/>
<id>c84f9f9a81e496acbef0855cbbb0858c817576dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>TableGen: Introduce `llvm::TableGen::Emitter` to register backends</title>
<updated>2023-03-21T07:21:27+00:00</updated>
<author>
<name>NAKAMURA Takumi</name>
<email>geek4civic@gmail.com</email>
</author>
<published>2023-02-16T23:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4178ef43b2f12171639e3ef2bf02e5b7efd34688'/>
<id>4178ef43b2f12171639e3ef2bf02e5b7efd34688</id>
<content type='text'>
`Opt(flag, func, desc)` registers an option into `Action`.

`OptClass&lt;EmitterC&gt;` is also available if `EmitterC(RK).run(OS)` is capable.

`Action` is defined as `ManagedStatic&lt;cl::opt&gt;` to guarantee to be created
when each registration of emitter is invoked.

`llvm::TableGenMain(argv0, MainFn)` invokes `Action` instead of `MainFn`

Differential Revision: https://reviews.llvm.org/D144351
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`Opt(flag, func, desc)` registers an option into `Action`.

`OptClass&lt;EmitterC&gt;` is also available if `EmitterC(RK).run(OS)` is capable.

`Action` is defined as `ManagedStatic&lt;cl::opt&gt;` to guarantee to be created
when each registration of emitter is invoked.

`llvm::TableGenMain(argv0, MainFn)` invokes `Action` instead of `MainFn`

Differential Revision: https://reviews.llvm.org/D144351
</pre>
</div>
</content>
</entry>
<entry>
<title>Explicitly include &lt;cassert&gt; when using assert</title>
<updated>2020-03-02T21:45:28+00:00</updated>
<author>
<name>Joerg Sonnenberger</name>
<email>joerg@bec.de</email>
</author>
<published>2020-03-02T17:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=eb812efa12fb82ca338794fa18b610ca9581aef5'/>
<id>eb812efa12fb82ca338794fa18b610ca9581aef5</id>
<content type='text'>
Depending on the OS used, a module-enabled build can fail due to the
special handling &lt;cassert&gt; gets as textual header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Depending on the OS used, a module-enabled build can fail due to the
special handling &lt;cassert&gt; gets as textual header.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T08:50:56+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T08:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2946cd701067404b99c39fb29dc9c74bd7193eb3'/>
<id>2946cd701067404b99c39fb29dc9c74bd7193eb3</id>
<content type='text'>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Fix line wrapping logic for the autogenerated header to use math that makes more sense (at least to me).</title>
<updated>2015-05-26T08:07:56+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@gmail.com</email>
</author>
<published>2015-05-26T08:07:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f58341c6eea59a500b59c7ecec270c1cd8ef0e5c'/>
<id>f58341c6eea59a500b59c7ecec270c1cd8ef0e5c</id>
<content type='text'>
The old code had a bug if the description was between 75 and 85 characters or so as it substracted PSLen from Desc.size() instead of MAX_LINE_LEN in the compare. It also calculated odd values for PosE on the last split and just let StringRef::slice take care of it being larger than the description string.

llvm-svn: 238187
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old code had a bug if the description was between 75 and 85 characters or so as it substracted PSLen from Desc.size() instead of MAX_LINE_LEN in the compare. It also calculated odd values for PosE on the last split and just let StringRef::slice take care of it being larger than the description string.

llvm-svn: 238187
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Rewrite an assert to not do a bunch unsigned math and then try to ensure the result is a positive number.</title>
<updated>2015-05-26T08:07:49+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@gmail.com</email>
</author>
<published>2015-05-26T08:07:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=33684f9e64828ee5408ab72ba54beb3b7b2ec754'/>
<id>33684f9e64828ee5408ab72ba54beb3b7b2ec754</id>
<content type='text'>
I think the fact that it was explicitly excluding 0 kept this from being a tautology. The exclusion of 0 for the old math was also a bug that's easily hit if the description gets split into multiple lines.

llvm-svn: 238186
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think the fact that it was explicitly excluding 0 kept this from being a tautology. The exclusion of 0 for the old math was also a bug that's easily hit if the description gets split into multiple lines.

llvm-svn: 238186
</pre>
</div>
</content>
</entry>
<entry>
<title>[TableGen] Put a space between '*' and description in the autogenerated tablegen header. Minor cleanup in surrounding code.</title>
<updated>2015-05-26T08:07:45+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@gmail.com</email>
</author>
<published>2015-05-26T08:07:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cb7648be17bfeed88e2e54fa8f84d7dc17fdb985'/>
<id>cb7648be17bfeed88e2e54fa8f84d7dc17fdb985</id>
<content type='text'>
llvm-svn: 238185
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 238185
</pre>
</div>
</content>
</entry>
</feed>
