summaryrefslogtreecommitdiffstats
path: root/llvm/test/TableGen
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug in !subst where TableGen would go and resubstitute text it hadDavid Greene2009-12-211-0/+15
| | | | | | | just substituted. This could cause infinite looping in certain pathological cases. llvm-svn: 91843
* Fix pr5470. Tablegen handles template arguments by temporarily setting theirBob Wilson2009-11-221-0/+10
| | | | | | | | | | | values, resolving references to them, and then removing the definitions. If a template argument is set to an undefined value, we need to resolve references to that argument to an explicit undefined value. The current code leaves the reference to the template argument as it is, which causes an assertion failure later when the definition of the template argument is removed. llvm-svn: 89581
* Add some tests of advanced TableGen list functionality.David Greene2009-06-292-0/+19
| | | | llvm-svn: 74445
* Remove empty test (my DejaGNU doesn't like this)Daniel Dunbar2009-06-091-0/+0
| | | | llvm-svn: 73148
* Remove empty file.Bill Wendling2009-06-091-0/+0
| | | | llvm-svn: 73140
* Revert 73074 and 73099 because Windows doesn't have POSIXDavid Greene2009-06-092-26/+0
| | | | | | | regular expressions. We will add an OpenBSD implementation and re-apply ASAP. llvm-svn: 73138
* Add a !patsubst operator. Use on string types.David Greene2009-06-081-0/+15
| | | | llvm-svn: 73099
* Add a more robust !if test.David Greene2009-06-081-2/+2
| | | | llvm-svn: 73091
* Fix DejaGNU run line to escape special characters.David Greene2009-06-081-2/+2
| | | | llvm-svn: 73090
* Make IntInits and ListInits typed. This helps deduce types of !if andDavid Greene2009-06-081-0/+87
| | | | | | | | other operators. For the rare cases where a list type cannot be deduced, provide a []<type> syntax, where <type> is the list element type. llvm-svn: 73078
* Add a !regmatch operator to do pattern matching in TableGen.David Greene2009-06-081-0/+11
| | | | llvm-svn: 73074
* Implement !if, analogous to $(if) in GNU make.David Greene2009-05-141-0/+20
| | | | llvm-svn: 71815
* Fix tests to not upset DejaGNU.David Greene2009-05-142-3/+3
| | | | llvm-svn: 71811
* Graduate LLVM to the big leagues by embedding a LISP processor into TableGen.David Greene2009-05-141-0/+21
| | | | | | | | | | Ok, not really, but do support some common LISP functions: * car * cdr * null llvm-svn: 71805
* Implement a !foreach operator analogous to GNU make's $(foreach).David Greene2009-05-142-0/+128
| | | | | | | | | | | | | | Use it on dags and lists like this: class decls { string name; } def Decls : decls; class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>; llvm-svn: 71803
* Implement a !subst operation simmilar to $(subst) in GNU make to doDavid Greene2009-05-141-0/+29
| | | | | | | | | | | | | | | | def/var/string substitution on generic pattern templates. For example: def Type; def v4f32 : Type; def TYPE : Type; class GenType<Type t> { let type = !(subst TYPE, v4f32, t); } def TheType : GenType<TYPE>; llvm-svn: 71801
* Implement !cast.David Greene2009-05-141-0/+90
| | | | llvm-svn: 71794
* Use .td for tablegen files, not .ll.Dan Gohman2009-05-082-0/+0
| | | | llvm-svn: 71277
* Allow multiclass def names to contain "#NAME"" where TableGen replacesDavid Greene2009-05-051-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #NAME# with the name of the defm instantiating the multiclass. This is useful for AVX instruction naming where a "V" prefix is standard throughout the ISA. For example: multiclass SSE_AVX_Inst<...> { def SS : Instr<...>; def SD : Instr<...>; def PS : Instr<...>; def PD : Instr<...>; def V#NAME#SS : Instr<...>; def V#NAME#SD : Instr<...>; def V#NAME#PS : Instr<...>; def V#NAME#PD : Instr<...>; } defm ADD : SSE_AVX_Inst<...>; Results in ADDSS ADDSD ADDPS ADDPD VADDSS VADDSD VADDPS VADDPD llvm-svn: 70979
* Fix multiclass inheritance to limit value resolution to new defs addedDavid Greene2009-04-241-9/+41
| | | | | | | by base multiclasses. Do not attempt to alter defs from previous base multiclasses. This fixes multiple multiclass inheritance. llvm-svn: 69974
* Make BinOps typed and require a type specifier for !nameconcat. ThisDavid Greene2009-04-231-3/+17
| | | | | | | allows binops to be used in typed contexts such as when passing arguments to classes. llvm-svn: 69921
* Allow defm to inherit from multiple multiclasses.David Greene2009-04-221-0/+32
| | | | llvm-svn: 69832
* Implement !nameconcat to concatenate strings and look up the resultingDavid Greene2009-04-221-0/+76
| | | | | | name in the symbol table, returning an object. llvm-svn: 69822
* Implement multiclass inheritance.David Greene2009-04-221-0/+32
| | | | llvm-svn: 69810
* add support for a few simple escape characters in tblgen strings.Chris Lattner2009-03-131-0/+5
| | | | llvm-svn: 66949
* implement support for C-style string literal concatenation in td files.Chris Lattner2009-03-111-0/+3
| | | | llvm-svn: 66663
* Fun x86 encoding tricks: when adding an immediate value of 128,Dan Gohman2008-10-171-1/+1
| | | | | | | | | | | | | use a SUB instruction instead of an ADD, because -128 can be encoded in an 8-bit signed immediate field, while +128 can't be. This avoids the need for a 32-bit immediate field in this case. A similar optimization applies to 64-bit adds with 0x80000000, with the 32-bit signed immediate field. To support this, teach tablegen how to handle 64-bit constants. llvm-svn: 57663
* For all RUN lines starting with "not", redirect stderr to /dev/null so testsMatthijs Kooijman2008-06-102-2/+2
| | | | | | | | | | don't fail when (expected) error output is produced. This fixes 17 tests. While I was there, I also made all RUN lines of the form "not llvm-as..." a bit more consistent, they now all redirect stderr and stdout to /dev/null and use input redirect to read their input. llvm-svn: 52174
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-1/+1
| | | | llvm-svn: 46930
* Convert tests using "| wc -l | grep ..." to use the count script.Dan Gohman2007-08-151-1/+1
| | | | llvm-svn: 41097
* Convert .cvsignore filesJohn Criswell2007-06-291-3/+0
| | | | llvm-svn: 37801
* For PR1319:Reid Spencer2007-04-162-3/+3
| | | | | | Fix syntax of tests to ensure grep pattern is properly quoted. llvm-svn: 36134
* For PR1319: Upgrade to new test harnessReid Spencer2007-04-154-6/+5
| | | | llvm-svn: 36070
* Make the llvm-runtest function much more amenable by eliminating all theReid Spencer2007-04-111-1/+1
| | | | | | | | global variables that needed to be passed in. This makes it possible to add new global variables with only a couple changes (Makefile and llvm-dg.exp) instead of touching every single dg.exp file. llvm-svn: 35918
* Regression is gone, don't try to find it on clean target.Reid Spencer2007-01-1726-0/+423
llvm-svn: 33296
OpenPOWER on IntegriCloud