|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
394a388d |
| 20-Jul-2022 |
Roman Rusyaev <[email protected]> |
[TableGen] Add a location for a class definition that was forward-declared
This change improves ctags generation for tablegen files.
For the following example ``` class A;
class A { int a; } ```
[TableGen] Add a location for a class definition that was forward-declared
This change improves ctags generation for tablegen files.
For the following example ``` class A;
class A { int a; } ``` Previously, tags were generated only for a forward declaration of class 'A'.
This patch allows generating tags for the forward declarations and further definition of class 'A'.
Reviewed By: barannikov88
Original patch by: rusyaev-roman (Roman Rusyaev) Some adjustments by: nhaehnle (Nicolai Hähnle)
Differential Revision: https://reviews.llvm.org/D129935
show more ...
|
| #
63448488 |
| 23-Jun-2022 |
wangpc <[email protected]> |
[TableGen] Add new operator !exists
We can cast a string to a record via !cast, but we have no mechanism to check if it is valid and TableGen will raise an error if failed to cast. Besides, we have
[TableGen] Add new operator !exists
We can cast a string to a record via !cast, but we have no mechanism to check if it is valid and TableGen will raise an error if failed to cast. Besides, we have no semantic null in TableGen (we have `?` but different backends handle uninitialized value differently), so operator like `dyn_cast<>` is hard to implement.
In this patch, we add a new operator `!exists<T>(s)` to check whether a record with type `T` and name `s` exists. Self-references are allowed just like `!cast`.
By doing these, we can write code like: ``` class dyn_cast_to_record<string name> { R value = !if(!exists<R>(name), !cast<R>(name), default_value); } defvar v = dyn_cast_to_record<"R0">.value; // R0 or default_value. ```
Reviewed By: tra, nhaehnle
Differential Revision: https://reviews.llvm.org/D127948
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
2ac3cd20 |
| 07-May-2022 |
River Riddle <[email protected]> |
[TableGen] Remove the use of global Record state
This commits removes TableGens reliance on managed static global record state by moving the RecordContext into the RecordKeeper. The RecordKeeper is
[TableGen] Remove the use of global Record state
This commits removes TableGens reliance on managed static global record state by moving the RecordContext into the RecordKeeper. The RecordKeeper is now treated similarly to a (LLVM|MLIR|etc)Context object and is passed to static construction functions. This is an important step forward in removing TableGens reliance on global state, and in a followup will allow for users that parse tablegen to parse multiple tablegen files without worrying about Record lifetime.
Differential Revision: https://reviews.llvm.org/D125276
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init |
|
| #
92f49b89 |
| 28-Jan-2022 |
serge-sans-paille <[email protected]> |
Cleanup include dependencies for LLVMTableGen
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
Cleanup include dependencies for LLVMTableGen
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
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
2aed0813 |
| 07-Jan-2022 |
Kazu Hirata <[email protected]> |
[llvm] Use true/false instead of 1/0 (NFC)
Identified with modernize-use-bool-literals.
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
d968b173 |
| 03-Nov-2021 |
Cullen Rhodes <[email protected]> |
[TableGen] Emit a warning for unused template args
Add a warning to TableGen for unused template arguments in classes and multiclasses, for example:
multiclass Foo<int x> { def bar; }
$
[TableGen] Emit a warning for unused template args
Add a warning to TableGen for unused template arguments in classes and multiclasses, for example:
multiclass Foo<int x> { def bar; }
$ llvm-tblgen foo.td
foo.td:1:20: warning: unused template argument: Foo::x multiclass Foo<int x> { ^ A flag '--no-warn-on-unused-template-args' is added to disable the warning. The warning is disabled for LLVM and sub-projects if 'LLVM_ENABLE_WARNINGS=OFF'.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D109359
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
407c11b5 |
| 08-Jun-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Eliminate dead code in ParseForeachDeclaration [NFC]
Differential Revision: https://reviews.llvm.org/D103904
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
985ab6e1 |
| 30-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Fix two bugs in 'defm' when complex 'assert' is involved.
This patch fixes two bugs that arise when a 'defm' inherits from a multiclass and also from a class with assertions.
Differentia
[TableGen] Fix two bugs in 'defm' when complex 'assert' is involved.
This patch fixes two bugs that arise when a 'defm' inherits from a multiclass and also from a class with assertions.
Differential Revision: https://reviews.llvm.org/D101626
show more ...
|
| #
952c6ddd |
| 26-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Add the !find bang operator
!find searches a source string for a target string and returns the position.
Differential Revision: https://reviews.llvm.org/D101318
|
| #
ff0ddd5c |
| 26-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Remove a TODO comment that is no longer relevant [NFC]
|
| #
2d4c4d3c |
| 20-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Change assertion information from a tuple to a struct [NFC]
Differential Revision: https://reviews.llvm.org/D100854
|
| #
9d609adc |
| 22-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Correct some comments in the TableGen parser [NFC]
Differential Revision: https://reviews.llvm.org/D101088
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5 |
|
| #
a5aaec8f |
| 01-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Add support for the 'assert' statement in multiclasses
This is step 3 of adding the 'assert' statement.
Differential Revision: https://reviews.llvm.org/D99751
|
| #
107189a2 |
| 09-Apr-2021 |
Alex Richardson <[email protected]> |
[TableGen] Report an error message on a missing comma
I recently forgot a comma in a defm argument list and tablegen just failed with exit code 1 without printing an error message. I believe this is
[TableGen] Report an error message on a missing comma
I recently forgot a comma in a defm argument list and tablegen just failed with exit code 1 without printing an error message. I believe this issue was introduced in a9fc44c5573208859c2550382755098d750fc47d.
This change prints the following instead: .../clang/include/clang/Driver/Options.td:569:3: error: Expected comma before next argument
Reviewed By: Paul-C-Anagnostopoulos
Differential Revision: https://reviews.llvm.org/D100178
show more ...
|
| #
3f919ff2 |
| 08-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
Revert "[TableGen] Add support for the 'assert' statement in multiclasses"
This reverts commit 3b9a15d910a8c748b1444333a4a3905a996528bc.
|
| #
3b9a15d9 |
| 01-Apr-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Add support for the 'assert' statement in multiclasses
|
|
Revision tags: llvmorg-12.0.0-rc4 |
|
| #
5f473a04 |
| 22-Mar-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Add support for the 'assert' statement in class definitions.
Differential Revision: https://reviews.llvm.org/D99275
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
a9fc44c5 |
| 25-Feb-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Improve handling of template arguments
This requires changes to TableGen files and some C++ files due to incompatible multiclass template arguments that slipped through before the improve
[TableGen] Improve handling of template arguments
This requires changes to TableGen files and some C++ files due to incompatible multiclass template arguments that slipped through before the improved handling.
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
49d663d5 |
| 18-Feb-2021 |
Paul C. Anagnostopoulos <[email protected]> |
Revert "[TableGen] Improve algorithms for processing template arguments"
This reverts commit e589207d5aaee6cbf1d7c7de8867a17727d14aca.
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
d248cce4 |
| 20-Jan-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Improve algorithms for processing template arguments
Rework template argument checking so that all arguments are type-checked and cast if necessary.
Add a test.
Differential Revision: h
[TableGen] Improve algorithms for processing template arguments
Rework template argument checking so that all arguments are type-checked and cast if necessary.
Add a test.
Differential Revision: https://reviews.llvm.org/D96416
show more ...
|
| #
267b573b |
| 01-Feb-2021 |
J-Y You <[email protected]> |
[TableGen] Fix anonymous record self-reference in foreach and multiclass
If we instantiate self-referenced anonymous records in foreach and multiclass, the NAME value will point to incorrect record.
[TableGen] Fix anonymous record self-reference in foreach and multiclass
If we instantiate self-referenced anonymous records in foreach and multiclass, the NAME value will point to incorrect record. It's because anonymous name is resolved too early.
This patch adds AnonymousNameInit to represent an anonymous record name. When instantiating an anonymous record, it will update the referred name.
Differential Revision: https://reviews.llvm.org/D95309
show more ...
|
| #
5046c5be |
| 29-Jan-2021 |
J-Y You <[email protected]> |
[TableGen] Fix instantiating multiclass in foreach
If multiclass argument comes from loop varaible and argument is record type, it will not recognize the type. This patch ensures that loop variables
[TableGen] Fix instantiating multiclass in foreach
If multiclass argument comes from loop varaible and argument is record type, it will not recognize the type. This patch ensures that loop variables are resolved correctly.
Differential Revision: https://reviews.llvm.org/D95308
show more ...
|
| #
4f5f29d4 |
| 20-Jan-2021 |
Paul C. Anagnostopoulos <[email protected]> |
Revert "[TableGen] Improve algorithm for inheriting class template args and fields"
This reverts commit c056f824340ff0189f3ef7870b83e3730de401d1.
That commit causes build failures.
|
|
Revision tags: llvmorg-11.1.0-rc1 |
|
| #
c056f824 |
| 08-Jan-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Improve algorithm for inheriting class template args and fields
Differential Revision: https://reviews.llvm.org/D94822
|
| #
a6759477 |
| 11-Jan-2021 |
Paul C. Anagnostopoulos <[email protected]> |
[TableGen] Improve error message for semicolon after braced body.
Add a test for this message.
Differential Revision: https://reviews.llvm.org/D94412
|