llvm-project/llvm/test/TableGen
Craig Topper b11b6ab3e0 [RISCV] Add way to mark CompressPats that should only be used for compressing.
There can be muliple patterns that map to the same compressed
instruction. Reversing those leads to multiple ways to uncompress
an instruction, but its not easily controllable which one will
be chosen by the tablegen backend.

This patch adds a flag to mark patterns that should only be used
for compressing. This allows us to leave one canonical pattern
for uncompressing.

The obvious benefit of this is getting c.mv to uncompress to
the addi patern that is aliased to the mv pseudoinstruction. For
the add/and/or/xor/li patterns it just removes some unreachable
code from the generated code.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D94894
2021-01-20 09:20:15 -08:00
..
Common [TableGen] [tests] Change integer ranges to use new '...' punctuation 2020-10-26 10:47:29 -04:00
FixedLenDecoderEmitter [TableGen] [tests] Change integer ranges to use new '...' punctuation 2020-10-26 10:47:29 -04:00
GICombinerEmitter [gicombiner] Correct 64f1bb5cd2 to account for MSVC's %p format 2020-01-07 12:50:05 -08:00
2003-08-03-PassCode.td
2006-09-18-LargeInt.td
2010-03-24-PrematureDefaults.td
AliasAsmString.td [TableGen] Fix non-standard escape warnings for braces in InstAlias 2020-05-28 09:36:24 +00:00
AllowDuplicateRegisterNames.td Change range operator from deprecated '-' to '...' 2020-09-12 16:26:32 -04:00
AnonDefinitionOnDemand.td
AsmPredicateCombining.td [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
AsmPredicateCombiningRISCV.td [RISCV] Add way to mark CompressPats that should only be used for compressing. 2021-01-20 09:20:15 -08:00
AsmPredicateCondsEmission.td [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
AsmVariant.td
BigEncoder.td Change range operator from deprecated '-' to '...' 2020-09-12 16:26:32 -04:00
BitOffsetDecoder.td Change range operator from deprecated '-' to '...' 2020-09-12 16:26:32 -04:00
BitsInit.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
BitsInitOverflow.td
CStyleComment.td
ClassInstanceValue.td
CodeGenSchedule-duplicate-instrw.td [TableGen][CGS] Print better errors on overlapping InstRW 2020-07-27 09:41:10 -06:00
ConcatenatedSubregs.td [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
ConstraintChecking.inc [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking1.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking2.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking3.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking4.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking5.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking6.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ConstraintChecking7.td [TableGen] Better error checking for TIED_TO constraints. 2018-11-28 11:43:49 +00:00
ContextlessPredicates.td [GlobalISel] Don't skip adding predicate matcher 2020-08-19 07:54:14 +00:00
DAGDefaultOps.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
Dag.td
DefaultOpsGlobalISel.td TableGen: Fix logic for default operands 2020-02-19 23:41:07 -05:00
DefmInherit.td
DefmInsideMultiClass.td
DuplicateFieldValues.td
FastISelEmitter.td
FieldAccess.td
ForeachList.td
ForeachLoop.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
ForwardRef.td
GeneralList.td
GlobalISelEmitter-PR39045.td [GlobalISel][NFC] Factor out common target code from GlobalISelEmitterTests 2019-08-13 22:14:37 +00:00
GlobalISelEmitter-SDNodeXForm-timm.td Refactor argument attribute specification in intrinsic definition. NFC. 2020-05-27 16:37:53 -04:00
GlobalISelEmitter-atomic_store.td TableGen/GlobalISel: Hack the operand order for atomic_store 2020-08-11 10:22:44 -04:00
GlobalISelEmitter-immAllZeroOne.td [TableGen] Remove spurious GISEL prefix from test. 2020-10-30 15:54:57 -04:00
GlobalISelEmitter-immarg-literal-pattern.td Refactor argument attribute specification in intrinsic definition. NFC. 2020-05-27 16:37:53 -04:00
GlobalISelEmitter-input-discard.td TableGen/GlobalISel: Don't check exact intrinsic opcode value 2020-01-17 20:09:53 -05:00
GlobalISelEmitter-nested-subregs.td [TableGen][GlobalISel] add handling of nested *_SUBREG 2020-10-05 10:42:18 +02:00
GlobalISelEmitter-output-discard.td TableGen/GlobalISel: Allow output instructions with multiple defs 2020-07-27 18:31:13 -04:00
GlobalISelEmitter-setcc.td GlobalISel/TableGen: Handle setcc patterns 2019-08-29 01:13:41 +00:00
GlobalISelEmitter-zero-instr.td [GlobalISel][TableGen] Fix seg fault for zero instruction 2020-11-24 07:47:58 +01:00
GlobalISelEmitter-zero-reg.td [TableGen][GlobalISel] Fix handling of zero_reg 2020-09-18 11:01:11 +02:00
GlobalISelEmitter.td [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
GlobalISelEmitterCustomPredicate.td AMDGPU/GlobalISel/Emitter Support for predicate code that uses operands 2020-09-14 10:39:56 +02:00
GlobalISelEmitterMatchTableOptimizer.td [TableGen][GlobalISel] Fix tblgen optimization bug 2020-08-26 12:09:01 +02:00
GlobalISelEmitterOverloadedPtr.td TableGen/GlobalISel: Partially fix nontrivial, custom predicates 2020-07-14 14:26:51 -04:00
GlobalISelEmitterRegSequence.td TableGen/GlobalISel: Emit enum names for reg class ID instead of value 2020-07-13 14:02:08 -04:00
GlobalISelEmitterSkippedPatterns.td AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks' 2020-09-14 12:10:59 +02:00
GlobalISelEmitterSubreg.td [GlobalISel][TableGen] Fix ConstrainOperandRC bug 2021-01-05 09:30:04 +01:00
GlobalISelEmitterVariadic.td [GlobalISel] Match table opt: fix a bug in matching num of operands 2019-11-01 01:57:48 -07:00
HwModeEncodeDecode.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
HwModeSelect.td Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
Include.inc
Include.td
IntBitInit.td
IntSpecialValues.td [TableGen] Allow 2^63-1 and 2^63-2 as int literals. 2019-03-12 09:28:19 +00:00
InvalidMCSchedClassDesc.td [TableGen] Fix a bug that MCSchedClassDesc is interfered between different SchedModel 2019-10-11 08:36:54 +00:00
JSON-check.py
JSON.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
LazyChange.td
LetInsideMultiClasses.td
ListArgs.td [TableGen] Let list elements have a trailing comma 2019-03-26 11:16:01 +00:00
ListArgsSimple.td
ListConversion.td
ListManip.td
ListOfList.td
ListSlices.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
LoLoL.td
MixedCasedMnemonic.td [TableGen] Allow mnemonics with uppercase letters to be matched 2020-08-14 14:47:52 -07:00
MultiClass-def-fail.td [TableGen] Give meaningful msg for def use in multiclass 2019-03-26 10:49:09 +00:00
MultiClass-defm-fail.td
MultiClass-defm.td
MultiClass.td
MultiClassDefName.td
MultiClassInherit.td
MultiPat.td
NestedForeach.td
Paste.td
RegisterBankEmitter.td
RegisterClass.td [TableGen] Report an error instead of asserting 2020-07-17 11:32:46 +01:00
RegisterEncoder.td [CodeEmitter] Support instruction widths > 64 bits 2019-09-15 08:35:08 +00:00
RelTest.td
SchedModelError.td [TableGen] Include schedule model name in diagnostic. 2019-04-15 10:06:26 +00:00
SetTheory.td
SiblingForeach.td
Slice.td
String.td
SuperSubclassSameName.td
TargetInstrInfo.td
TargetInstrSpec.td
TemplateArgRename.td
Tree.td
TreeNames.td
TwoLevelName.td
UnsetBitInit.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
UnterminatedComment.td
ValidIdentifiers.td
address-space-patfrags.td [Alignment][NFC] Transitionning more getMachineMemOperand call sites 2020-03-31 08:36:18 +00:00
ambiguous-composition.td [TableGen] Examine entire subreg compositions to detect ambiguity 2018-11-29 18:20:08 +00:00
arithmetic.td [TableGen] [AMDGPU] Add !sub operator for subtraction 2020-10-28 12:27:53 -04:00
assert.td [TableGen] Add the assert statement, step 1 2021-01-08 09:47:51 -05:00
cast-list-initializer.td
cast-multiclass.td
cast-string.td [TableGen] Enhance !cast<string> to handle bit and bits types. 2021-01-14 10:20:35 -05:00
cast-typeerror.td
cast.td
code.td [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
compare.td [TableGen] Enhance the six comparison bang operators. 2020-11-13 09:57:27 -05:00
cond-bitlist.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-default.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-empty-list-arg.td [TableGen] Eliminate uses of true and false in .td files. 2020-10-31 10:54:33 -04:00
cond-inheritance.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-let.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
cond-list.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-subclass.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-type.td Enhance TableGen so that backends can produce better error messages. 2020-09-23 13:35:32 -04:00
cond-usage.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
condsbit.td [TableGen] Add true and false literals to represent booleans 2020-11-05 09:07:21 -05:00
dag-functional.td
dag-isel-regclass-emit-enum.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
dag-isel-res-order.td [TableGen] Preserve order of output operands in DAGISelMatcherGen 2018-12-05 00:47:59 +00:00
dag-isel-subregs.td [TBLGEN] Fix subreg value overflow in DAGISelMatcher 2020-02-12 13:29:57 -08:00
defmclass.td
defset-typeerror.td
defset.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
defvar.td [TableGen] Introduce an if/then/else statement. 2020-01-14 10:19:53 +00:00
directive1.td [flang][directive] Get rid of flangClassValue in TableGen 2021-01-19 10:28:46 -05:00
directive2.td [flang][directive] Get rid of flangClassValue in TableGen 2021-01-19 10:28:46 -05:00
directive3.td [openacc][openmp] Allow duplicate between required and allowed once/exclusive 2020-11-05 16:21:26 -05:00
duplicate-include.inc Tablegen: Remove the error for duplicate include files. 2019-11-20 18:24:10 -08:00
duplicate-include.td Tablegen: Remove the error for duplicate include files. 2019-11-20 18:24:10 -08:00
empty.td [TableGen] Enhance !empty and !size to handle strings and DAGs. 2020-10-19 09:22:20 -04:00
eq-unset.td Fix assertion on `!eq(?, 0)` 2020-02-18 14:05:55 -08:00
eq.td
eqbit.td
field-access-initializers.td [llvm][TableGen] Define FieldInit::isConcrete overload 2020-02-10 18:04:58 -08:00
filter.td [TableGen] Add the !filter bang operator. 2020-11-09 10:56:55 -05:00
foldl.td
foreach-eval.td
foreach-leak.td
foreach-multiclass.td
foreach-range-parse-errors0.td [TableGen] Add true and false literals to represent booleans 2020-11-05 09:07:21 -05:00
foreach-range-parse-errors1.td TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
foreach-range-parse-errors2.td TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
foreach-range-parse-errors3.td TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
foreach-range-parse-errors4.td TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
foreach-range-parse-errors5.td TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
foreach-variable-range.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
foreach.td
generic-tables-instruction.td Update tablegen test after r369847. 2019-08-24 15:11:41 +00:00
generic-tables.td [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
get-operand-type.td [TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses 2019-09-23 18:51:00 +00:00
getsetop.td [TableGen] Change !getop and !setop to !getdagop and !setdagop. 2020-10-23 10:36:05 -04:00
gisel-physreg-input.td GlobalISel: Support physical register inputs in patterns 2019-09-06 20:32:37 +00:00
if-empty-list-arg.td
if-type.td Enhance TableGen so that backends can produce better error messages. 2020-09-23 13:35:32 -04:00
if.td [TableGen] Eliminate uses of true and false in .td files. 2020-10-31 10:54:33 -04:00
ifbit.td
ifstmt.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
immarg.td Refactor argument attribute specification in intrinsic definition. NFC. 2020-05-27 16:37:53 -04:00
inhibit-pset.td [TBLGEN] Inhibit generation of unneeded psets 2020-02-17 15:38:08 -08:00
interleave.td [TableGen] Fix bug in !interleave operator 2020-12-28 12:17:24 -05:00
intrin-side-effects.td [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
intrinsic-long-name.td Reland [IR] Intrinsics default attributes and opt-out flag 2020-08-26 11:37:59 +02:00
intrinsic-pointer-to-any.td Reland [IR] Intrinsics default attributes and opt-out flag 2020-08-26 11:37:59 +02:00
intrinsic-struct.td Reland [IR] Intrinsics default attributes and opt-out flag 2020-08-26 11:37:59 +02:00
intrinsic-varargs.td Reland [IR] Intrinsics default attributes and opt-out flag 2020-08-26 11:37:59 +02:00
isa.td
lisp.td
list-element-bitref.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
listconcat.td
listpaste.td TableGen: Allow lists to be concatenated through '#' 2019-03-05 17:16:07 +00:00
listsplat.td [TableGen] Introduce !listsplat 'binary' operator 2019-04-10 18:26:36 +00:00
lit.local.cfg Attempt to fix issue with unresolved lit test in TableGen 2019-08-13 22:32:26 +00:00
math.td [TableGen] [AMDGPU] Add !sub operator for subtraction 2020-10-28 12:27:53 -04:00
name-resolution-consistency.td
nested-comment.td
paste-reserved.td [TableGen] Add true and false literals to represent booleans 2020-11-05 09:07:21 -05:00
pr8330.td
predicate-patfags.td TableGen: Fix assert on PatFrags with predicate code 2019-12-30 14:24:25 -05:00
prep-diag1.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag2.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag3.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag4.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag5.td TableGen: support #ifndef in addition to #ifdef. 2019-05-14 13:04:25 +00:00
prep-diag6.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag7.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag8.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag9.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag10.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag11-include.inc [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag11.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag12-include.inc [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag12.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag13.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-diag14.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-ifndef-diag-1.td TableGen: support #ifndef in addition to #ifdef. 2019-05-14 13:04:25 +00:00
prep-ifndef-diag-2.td TableGen: support #ifndef in addition to #ifdef. 2019-05-14 13:04:25 +00:00
prep-ifndef.td TableGen: support #ifndef in addition to #ifdef. 2019-05-14 13:04:25 +00:00
prep-region-include.inc [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-region-processing.td [llvm] NFC: Fix trivial typo in rst and td files 2020-04-23 14:26:32 +09:00
pset-enum.td [TBLGEN] Emit register pressure set enum 2020-02-18 10:09:05 -08:00
range-lists.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
rc-weight-override.td [TBLGEN] Allow to override RC weight 2020-02-14 15:49:52 -08:00
searchabletables-intrinsic.td Reland [IR] Intrinsics default attributes and opt-out flag 2020-08-26 11:37:59 +02:00
self-reference-recursion.td
self-reference-typeerror.td Revert "[TableGen] Improve algorithm for inheriting class template args and fields" 2021-01-20 09:47:13 -05:00
self-reference.td
simplify-patfrag.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
size.td [TableGen] Enhance !empty and !size to handle strings and DAGs. 2020-10-19 09:22:20 -04:00
spurious-semi.td [TableGen] Improve error message for semicolon after braced body. 2021-01-12 09:38:05 -05:00
strconcat.td
subst.td
subst2.td
substr.td [TableGen] Add the !substr() bang operator 2020-12-23 10:59:33 -05:00
template-arg-dependency.td
true-false.td [TableGen] Add true and false literals to represent booleans 2020-11-05 09:07:21 -05:00
trydecode-emission.td
trydecode-emission2.td
trydecode-emission3.td Update TableGen test files to use the new '...' range punctuation. 2020-09-12 16:26:32 -04:00
unsetop.td [TableGen] Permit dag operators to be unset. 2019-12-10 11:09:40 +00:00
unterminated-c-comment-include.inc [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
unterminated-c-comment.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
unterminated-code-block-include.inc [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
unterminated-code-block.td [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
usevalname.td