Paul C. Anagnostopoulos
ef8df920fb
[TableGen] Fix ProfileFoldOpInit so that parameters are named consistently [NFC]
...
See https://bugs.llvm.org/show_bug.cgi?id=50595
Differential Revision: https://reviews.llvm.org/D103823
2021-06-09 09:23:31 -04:00
Paul C. Anagnostopoulos
952c6ddd8b
[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
2021-04-28 09:51:00 -04:00
Paul C. Anagnostopoulos
2d4c4d3c54
[TableGen] Change assertion information from a tuple to a struct [NFC]
...
Differential Revision: https://reviews.llvm.org/D100854
2021-04-26 09:57:16 -04:00
Paul C. Anagnostopoulos
a5aaec8f4e
[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
2021-04-19 09:01:42 -04:00
Daniel Sanders
be50657c6a
[TableGen] Resolve concrete but not complete field access initializers
...
This fixes the resolution of Rec10.Zero in ListSlices.td.
As part of this, correct the definition of complete for ListInit such that
it's complete iff all the elements in the list are complete rather than
always being complete regardless of the elements. This is the reason
Rec10.TwoFive from ListSlices.td previously resolved despite being
incomplete like Rec10.Zero was
Depends on D100247
Reviewed By: Paul-C-Anagnostopoulos
Differential Revision: https://reviews.llvm.org/D100253
2021-04-13 15:14:56 -07:00
Paul C. Anagnostopoulos
489cdedd11
[TableGen] Fix bug in recent change to ListInit::convertInitListSlice()
...
Differential Revision: https://reviews.llvm.org/D100247
2021-04-12 09:44:39 -04:00
Paul C. Anagnostopoulos
3f919ff250
Revert "[TableGen] Add support for the 'assert' statement in multiclasses"
...
This reverts commit 3b9a15d910
.
2021-04-08 13:58:58 -04:00
Paul C. Anagnostopoulos
14580ce2fd
[TableGen] Make behavior of list slice suffix consistent across all values
...
Differential Revision: https://reviews.llvm.org/D99883
2021-04-08 08:38:44 -04:00
Paul C. Anagnostopoulos
3b9a15d910
[TableGen] Add support for the 'assert' statement in multiclasses
2021-04-08 08:36:03 -04:00
Paul C. Anagnostopoulos
5f473a04af
[TableGen] Add support for the 'assert' statement in class definitions.
...
Differential Revision: https://reviews.llvm.org/D99275
2021-03-29 09:20:29 -04:00
Paul C. Anagnostopoulos
a9fc44c557
[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.
2021-03-19 09:57:53 -04:00
Paul C. Anagnostopoulos
49d663d546
Revert "[TableGen] Improve algorithms for processing template arguments"
...
This reverts commit e589207d5aaee6cbf1d7c7de8867a17727d14aca.
2021-02-18 09:26:26 -05:00
Paul C. Anagnostopoulos
d248cce44e
[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
2021-02-18 09:15:26 -05:00
Kazu Hirata
910e2d1e57
[llvm] Use llvm::is_contained (NFC)
2021-02-14 08:36:20 -08:00
J-Y You
267b573b55
[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
2021-02-01 10:59:07 -05:00
Kazu Hirata
16baad8f4e
[llvm] Use pop_back_val (NFC)
2021-01-24 12:18:57 -08:00
Paul C. Anagnostopoulos
4f5f29d409
Revert "[TableGen] Improve algorithm for inheriting class template args and fields"
...
This reverts commit c056f82434
.
That commit causes build failures.
2021-01-20 09:47:13 -05:00
Paul C. Anagnostopoulos
c056f82434
[TableGen] Improve algorithm for inheriting class template args and fields
...
Differential Revision: https://reviews.llvm.org/D94822
2021-01-20 09:31:43 -05:00
Paul C. Anagnostopoulos
a022be6253
[TableGen] Enhance !cast<string> to handle bit and bits types.
...
Add a test for this.
Differential Revision: https://reviews.llvm.org/D94529
2021-01-14 10:20:35 -05:00
Paul C. Anagnostopoulos
aa7968a87b
[TableGen] Add field kind to the RecordVal class.
...
Differential Revision: https://reviews.llvm.org/D93969
2021-01-07 09:31:27 -05:00
Kazu Hirata
1d0bc05551
[llvm] Use llvm::append_range (NFC)
2021-01-06 18:27:33 -08:00
Kazu Hirata
848e8f938f
[llvm] Construct SmallVector with iterator ranges (NFC)
2021-01-04 11:42:44 -08:00
Paul C. Anagnostopoulos
4820af99dd
[TableGen] Fix bug in !interleave operator
...
I forgot to account for unresolved elements of the list.
Differential Revision: https://reviews.llvm.org/D93814
2020-12-28 12:17:24 -05:00
Paul C. Anagnostopoulos
e122a71a0a
[TableGen] Add the !substr() bang operator
...
Update the documentation and add a test.
Build failed: Change SIZE_MAX to std::numeric_limits<int64_t>::max().
Differential Revision: https://reviews.llvm.org/D93419
2020-12-23 10:59:33 -05:00
Paul C. Anagnostopoulos
554eb1f6dc
Revert "[TableGen] Add the !substr() bang operator"
...
This reverts commit 3a675c777d
.
2020-12-21 10:46:25 -05:00
Paul C. Anagnostopoulos
3a675c777d
[TableGen] Add the !substr() bang operator
...
Update the documentation and add a test.
Differential Revision: https://reviews.llvm.org/D93419
2020-12-21 09:41:59 -05:00
Simon Pilgrim
6c8ded0d8c
[TableGen] Don't dereference from dyn_cast<> - use cast<> instead. NFCI.
...
dyn_cast<> can return null if the cast fails, resulting in null dereferences and static analyzer warnings. We should use cast<> instead.
2020-12-14 12:12:08 +00:00
Paul C. Anagnostopoulos
6266f36226
[TableGen] Cache the vectors of records returned by getAllDerivedDefinitions().
...
Differential Revision: https://reviews.llvm.org/D92674
2020-12-09 10:54:04 -05:00
Paul C. Anagnostopoulos
415fab6f67
[TableGen] Eliminate the 'code' type
...
Update the documentation.
Rework various backends that relied on the code type.
Differential Revision: https://reviews.llvm.org/D92269
2020-12-03 10:19:11 -05:00
Paul C. Anagnostopoulos
b23e84ffcf
[TableGen] Eliminte source location from CodeInit
...
Step 1 in eliminating the 'code' type.
Differential Revision: https://reviews.llvm.org/D91932
2020-11-23 11:30:13 -05:00
Paul C. Anagnostopoulos
9671790b4f
[TableGen] Fix missing braces in if statement
2020-11-14 12:38:44 -05:00
Nico Weber
237dcfe2e6
Fix build after 54f9ee334
2020-11-14 10:23:22 -05:00
Paul C. Anagnostopoulos
54f9ee3341
[TableGen] Add frontend/backend phase timing capability.
...
Describe in the BackEnd Developer's Guide. Instrument a few backends.
Remove an old unused timing facility. Add a null backend for timing
the parser.
Differential Revision: https://reviews.llvm.org/D91388
2020-11-14 10:10:29 -05:00
Paul C. Anagnostopoulos
641428f928
[TableGen] Enhance the six comparison bang operators.
...
Update the Programmer's Reference.
Differential Revision: https://reviews.llvm.org/D91036
2020-11-13 09:57:27 -05:00
Paul C. Anagnostopoulos
91d2e5c81a
[TableGen] Add the !filter bang operator.
...
Add a test. Update the Programmer's Reference.
Use it in some TableGen files.
Differential Revision: https://reviews.llvm.org/D91008
2020-11-09 10:56:55 -05:00
Paul C. Anagnostopoulos
d56cd4291e
[TableGen] Add !interleave operator to concatenate a list of values with delimiters
...
Add a test. Use it in some TableGen files.
Differential Revision: https://reviews.llvm.org/D90469
2020-11-04 09:23:54 -05:00
Paul C. Anagnostopoulos
9d72065cf6
[TableGen] [AMDGPU] Add !sub operator for subtraction
...
Use it in the AMDGPU target to eliminate !add(value1, !mul(value2, -1))
Differential Revision: https://reviews.llvm.org/D90107
2020-10-28 12:27:53 -04:00
Paul C. Anagnostopoulos
876af264c1
[TableGen] Change !getop and !setop to !getdagop and !setdagop.
...
Differential Revision: https://reviews.llvm.org/D89814
2020-10-23 10:36:05 -04:00
Paul C. Anagnostopoulos
dc5d6632b0
[TableGen] Enhance !empty and !size to handle strings and DAGs.
...
Fix bug in the type checking for !empty, !head, !size, !tail.
2020-10-19 09:22:20 -04:00
Paul C. Anagnostopoulos
4767bb2c0c
[TableGen] Add the !not and !xor operators.
...
Update the TableGen Programmer's Reference.
2020-10-15 10:12:59 -04:00
Paul C. Anagnostopoulos
350fafabe9
[TableGen] Add overload of RecordKeeper::getAllDerivedDefinitions()
...
and use in PseudoLowering backend.
Now the two getAllDerivedDefinitions() use StringRef and Arrayref.
Use all_of() in getAllDerivedDefinitions().
2020-10-12 16:40:09 -04:00
Paul C. Anagnostopoulos
0c1bb4f885
[TableGen] New backend to print detailed records.
...
Pertinent lints are fixed.
2020-10-02 10:22:13 -04:00
John Demme
76419525fb
Common code preparation for tblgen-types patch
...
Cleanup and add methods which https://reviews.llvm.org/D86904 requires. Breaking up to lower review load.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D88267
2020-09-26 02:47:48 +00:00
Paul C. Anagnostopoulos
b3931188fd
Enhance TableGen so that backends can produce better error messages.
...
Modify SearchableTableEmitter.cpp to take advantage.
Clean up formatting and capitalization issues.
2020-09-23 13:35:32 -04:00
Paul C. Anagnostopoulos
bd55d5b2a1
Change comments about order of classes in superclass list.
2020-09-21 10:25:44 -04:00
Paul C. Anagnostopoulos
04cebd900f
Change name of Record::TheInit to CorrespondingDefInit to make code clearer.
...
Differential Revision: https://reviews.llvm.org/D87919
2020-09-19 09:18:44 -04:00
Paul C. Anagnostopoulos
8ce75e2778
TableGen: change a couple of member names to clarify their use.
2020-09-12 12:21:36 -04:00
Stanislav Mekhanoshin
3f0c9c1634
Fix ubsan error in tblgen with signed left shift
...
UBSAN complains when tblgen performs SHL of a negative
value.
Differential Revision: https://reviews.llvm.org/D81952
2020-06-16 11:15:09 -07:00
Daniel Grumberg
4bf1124eda
[TableGen] Make behavior of getValueAsListOfStrings consistent with getValueAsString
2020-06-12 19:16:48 +01:00
Fangrui Song
9caac56a65
[TableGen] Delete unused Record::resolveReferencesTo() after D44478. NFC
2020-04-26 01:21:41 -07:00