llvm-project/llvm/test/TableGen
Javed Absar a3e3d85286 [TblGen] Extend !if semantics through new feature !cond
This patch extends TableGen language with !cond operator.
Instead of embedding !if inside !if which can get cumbersome,
one can now use !cond.
Below is an example to convert an integer 'x' into a string:

    !cond(!lt(x,0) : "Negative",
          !eq(x,0) : "Zero",
          !eq(x,1) : "One,
          1        : "MoreThanOne")

Reviewed By: hfinkel, simon_tatham, greened
Differential Revision: https://reviews.llvm.org/D55758

llvm-svn: 352185
2019-01-25 10:25:25 +00:00
..
FixedLenDecoderEmitter [tblgen][disasm] Emit record names again when decoder conflicts occur. 2019-01-03 00:14:33 +00:00
2003-08-03-PassCode.td
2006-09-18-LargeInt.td
2010-03-24-PrematureDefaults.td
AllowDuplicateRegisterNames.td [TableGen] Give the option of tolerating duplicate register names 2017-12-07 09:51:55 +00:00
AnonDefinitionOnDemand.td TableGen: Delay instantiating inline anonymous records 2018-03-06 13:49:01 +00:00
AsmPredicateCondsEmission.td
AsmVariant.td [TableGen] Add a proper namespace to an Instruction in an AsmMatcher test. This is required after r307358. 2017-07-07 05:50:45 +00:00
BitOffsetDecoder.td TableGen: Explicitly check whether a record has been resolved 2018-03-06 13:48:47 +00:00
BitsInit.td TableGen: Allow !cast of records, cleanup conversion machinery 2018-03-06 13:48:39 +00:00
BitsInitOverflow.td TableGen: Explicitly check whether a record has been resolved 2018-03-06 13:48:47 +00:00
CStyleComment.td
ClassInstanceValue.td
ConcatenatedSubregs.td Address r311914 review comments 2017-08-28 20:11:27 +00: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
Dag.td TableGen: Streamline the semantics of NAME 2018-06-04 14:26:05 +00:00
DefmInherit.td
DefmInsideMultiClass.td
DuplicateFieldValues.td
FastISelEmitter.td [FastISel] Permit instructions to be skipped for FastISel generation. 2018-05-22 14:36:58 +00:00
FieldAccess.td TableGen: Allow !cast of records, cleanup conversion machinery 2018-03-06 13:48:39 +00:00
ForeachList.td TableGen: Allow arbitrary list values as ranges of foreach 2018-03-09 12:24:30 +00:00
ForeachLoop.td
ForwardRef.td
GeneralList.td
GlobalISelEmitter-PR39045.td [globalisel][tblgen] Table optimization should consider the C++ code in C++ predicates 2018-09-25 17:59:02 +00:00
GlobalISelEmitter.td [globalisel][tablegen] Add support for C++ predicates on PatFrags and use it to support BFC on ARM. 2018-06-15 23:13:43 +00:00
HwModeSelect.td TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
Include.inc
Include.td
IntBitInit.td
JSON-check.py [TableGen] Add a general-purpose JSON backend. 2018-07-11 08:40:19 +00:00
JSON.td [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +00:00
LazyChange.td
LetInsideMultiClasses.td
ListArgs.td
ListArgsSimple.td
ListConversion.td
ListManip.td
ListOfList.td
ListSlices.td
LoLoL.td
MultiClass-defm-fail.td TableGen: Streamline how defs are instantiated 2018-03-21 17:12:53 +00:00
MultiClass-defm.td TableGen: Allow NAME in template arguments in defm in multiclass 2018-03-05 14:01:38 +00:00
MultiClass.td
MultiClassDefName.td TableGen: Streamline the semantics of NAME 2018-06-04 14:26:05 +00:00
MultiClassInherit.td
MultiPat.td TableGen: Reimplement !foreach using the resolving mechanism 2018-03-05 15:21:04 +00:00
NestedForeach.td TableGen: Allow foreach in multiclass to depend on template args 2018-06-21 13:35:44 +00:00
Paste.td TableGen: Type-check BinOps 2018-03-14 11:00:43 +00:00
RegisterBankEmitter.td
RegisterEncoder.td [TableGen] Add EncoderMethod to RegisterOperand 2017-05-15 10:13:07 +00:00
RelTest.td [mips] Improve diagnostics for instruction mapping 2018-01-08 16:25:40 +00:00
SetTheory.td
SiblingForeach.td
Slice.td
String.td
SuperSubclassSameName.td
TargetInstrInfo.td
TargetInstrSpec.td TableGen: Reimplement !foreach using the resolving mechanism 2018-03-05 15:21:04 +00:00
TemplateArgRename.td
Tree.td
TreeNames.td
TwoLevelName.td
UnsetBitInit.td TableGen: Simplify BitsInit::resolveReferences 2018-03-06 13:48:30 +00:00
UnterminatedComment.td Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
ValidIdentifiers.td
ambiguous-composition.td [TableGen] Examine entire subreg compositions to detect ambiguity 2018-11-29 18:20:08 +00:00
arithmetic.td TableGen: Type-check BinOps 2018-03-14 11:00:43 +00:00
cast-list-initializer.td
cast-multiclass.td [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
cast-typeerror.td TableGen: Check the dynamic type of !cast<Rec>(string) 2018-03-19 14:14:20 +00:00
cast.td
code.td TableGen: Allow !cast of records, cleanup conversion machinery 2018-03-06 13:48:39 +00:00
compare.td TableGen: Add !ne, !le, !lt, !ge, and !gt comparisons 2018-03-14 11:00:57 +00: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 [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-inheritance.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-let.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00: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 [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
cond-usage.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
condsbit.td [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
dag-functional.td TableGen: Allow dag operators to be resolved late 2018-03-14 11:00:48 +00:00
dag-isel-res-order.td [TableGen] Preserve order of output operands in DAGISelMatcherGen 2018-12-05 00:47:59 +00:00
defmclass.td
defset-typeerror.td TableGen: Add a defset statement 2018-03-09 12:24:42 +00:00
defset.td TableGen: Add a defset statement 2018-03-09 12:24:42 +00:00
eq.td TableGen: Add !ne, !le, !lt, !ge, and !gt comparisons 2018-03-14 11:00:57 +00:00
eqbit.td TableGen: Add !ne, !le, !lt, !ge, and !gt comparisons 2018-03-14 11:00:57 +00:00
foldl.td TableGen: Add !foldl operation 2018-03-06 13:49:16 +00:00
foreach-eval.td TableGen: Reimplement !foreach using the resolving mechanism 2018-03-05 15:21:04 +00:00
foreach-leak.td [TableGen] Don't quote variable name when printing !foreach. 2018-05-02 13:17:26 +00:00
foreach-multiclass.td TableGen: Allow foreach in multiclass to depend on template args 2018-06-21 13:35:44 +00:00
foreach.td TableGen: Reimplement !foreach using the resolving mechanism 2018-03-05 15:21:04 +00:00
generic-tables-instruction.td TableGen/SearchableTables: Support more generic enums and tables 2018-06-21 13:36:22 +00:00
generic-tables.td TableGen/SearchableTables: Support more generic enums and tables 2018-06-21 13:36:22 +00:00
if-empty-list-arg.td
if-type.td TableGen: Generalize record types to fix typeIsConvertibleTo et al. 2018-03-06 13:48:20 +00:00
if.td TableGen: Generalize record types to fix typeIsConvertibleTo et al. 2018-03-06 13:48:20 +00:00
ifbit.td
intrinsic-long-name.td [IR] Split Intrinsics.inc into enums and implementations 2018-06-23 02:02:38 +00:00
intrinsic-struct.td [IR] Split Intrinsics.inc into enums and implementations 2018-06-23 02:02:38 +00:00
intrinsic-varargs.td [IR] Split Intrinsics.inc into enums and implementations 2018-06-23 02:02:38 +00:00
isa.td TableGen: add !isa operation 2018-03-09 12:24:06 +00:00
lisp.td TableGen: Streamline the semantics of NAME 2018-06-04 14:26:05 +00:00
list-element-bitref.td
listconcat.td TableGen: Type-check BinOps 2018-03-14 11:00:43 +00:00
lit.local.cfg
math.td TableGen: Type-check BinOps 2018-03-14 11:00:43 +00:00
name-resolution-consistency.td TableGen: Streamline the semantics of NAME 2018-06-04 14:26:05 +00:00
nested-comment.td
pr8330.td
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] Preprocessing support 2018-11-27 18:57:43 +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-region-include.inc [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
prep-region-processing.td [TableGen] Preprocessing support 2018-11-27 18:57:43 +00:00
searchabletables-intrinsic.td TableGen/SearchableTables: Support more generic enums and tables 2018-06-21 13:36:22 +00:00
self-reference-recursion.td TableGen: Explicitly forbid self-references to field members 2018-03-19 14:14:28 +00:00
self-reference-typeerror.td TableGen: Explicitly test some cases of self-references and !cast errors 2018-03-19 14:14:10 +00:00
self-reference.td TableGen: Streamline how defs are instantiated 2018-03-21 17:12:53 +00:00
size.td TableGen: Add !size operation 2018-02-23 10:46:07 +00:00
strconcat.td
subst.td TableGen: Streamline the semantics of NAME 2018-06-04 14:26:05 +00:00
subst2.td
template-arg-dependency.td TableGen: Resolve all template args simultaneously in AddSubClass 2018-03-05 15:21:11 +00:00
trydecode-emission.td [GISel]: Add Opcodes for CTLZ/CTTZ/CTPOP 2018-08-04 01:22:12 +00:00
trydecode-emission2.td [GISel]: Add Opcodes for CTLZ/CTTZ/CTPOP 2018-08-04 01:22:12 +00:00
trydecode-emission3.td [GISel]: Add Opcodes for CTLZ/CTTZ/CTPOP 2018-08-04 01:22:12 +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] Preprocessing support 2018-11-27 18:57:43 +00:00
usevalname.td