summaryrefslogtreecommitdiffstats
path: root/llvm/test/TableGen
Commit message (Collapse)AuthorAgeFilesLines
* 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