- May 15, 2009
-
-
David Greene authored
Implement !if, analogous to $(if) in GNU make. llvm-svn: 71815
-
David Greene authored
Graduate LLVM to the big leagues by embedding a LISP processor into TableGen. Ok, not really, but do support some common LISP functions: * car * cdr * null llvm-svn: 71805
-
David Greene authored
Implement a !foreach operator analogous to GNU make's $(foreach). 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
-
- May 14, 2009
-
-
David Greene authored
Implement a !subst operation simmilar to $(subst) in GNU make to do 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
-
David Greene authored
Implement !cast. llvm-svn: 71794
-
David Greene authored
Operation Enhancements Create an OpInit class to serve as a base for all operation Inits. Move parsing of operation constructs to separate functions and reference from multiple places. Add some commented out new operations. Coming soon. llvm-svn: 71789
-
- Apr 30, 2009
-
-
Bob Wilson authored
of "class", so that it matches the subsequent definition. llvm-svn: 70498
-
- Apr 24, 2009
-
-
David Greene authored
Fix multiclass inheritance to limit value resolution to new defs added by base multiclasses. Do not attempt to alter defs from previous base multiclasses. This fixes multiple multiclass inheritance. llvm-svn: 69974
-
- Apr 23, 2009
-
-
David Greene authored
Make BinOps typed and require a type specifier for !nameconcat. This allows binops to be used in typed contexts such as when passing arguments to classes. llvm-svn: 69921
-
- Apr 22, 2009
-
-
David Greene authored
Implement !nameconcat to concatenate strings and look up the resulting name in the symbol table, returning an object. llvm-svn: 69822
-
- Mar 19, 2009
-
-
Nate Begeman authored
in selectiondag patterns. This is required for the upcoming shuffle_vector rewrite, and as it turns out, cleans up a hack in the Alpha instruction info. llvm-svn: 67286
-
- Mar 13, 2009
-
-
Ted Kremenek authored
llvm-svn: 66970
-
Chris Lattner authored
errors when thrown. This gets us nice errors like this from tblgen: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: error: Included from X86.td:116: Parsing X86InstrInfo.td:922: In CMOVL32rr: X86cmov node requires exactly 4 operands! def CMOVL32rr : I<0x4C, MRMSrcReg, // if <s, GR32 = GR32 ^ instead of just: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: In CMOVL32rr: X86cmov node requires exactly 4 operands! This is all I plan to do with this, but it should be easy enough to improve if anyone cares (e.g. keeping more loc info in "dag" expr records in tblgen. llvm-svn: 66898
-
Chris Lattner authored
llvm-svn: 66897
-
- Oct 22, 2008
-
-
Argyrios Kyrtzidis authored
-Bring in int64_t for TableGen/Record.h and TableGen/TGLexer.h -Define strtoull llvm-svn: 57970
-
- Oct 17, 2008
-
-
Dan Gohman authored
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
-
- Sep 11, 2008
-
-
Jim Grosbach authored
by its first field, but TableGen doesn't actually enforce creating it that way. TableGen sorts the records that will be used to create it by the names of the records, not the Name field of those records. This patch corrects the sort to use the "Name" field of the record as the sort key. llvm-svn: 56106
-
- Aug 26, 2008
-
-
Chris Lattner authored
orders, part of PR2590 llvm-svn: 55359
-
- Jul 07, 2008
-
-
Dan Gohman authored
llvm-svn: 53179
-
- Mar 25, 2008
-
-
Dan Gohman authored
llvm-svn: 48801
-
- Jan 22, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 46250
-
- Jan 21, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 46223
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
- Nov 22, 2007
-
-
Chris Lattner authored
print in terms of that. llvm-svn: 44276
-
Chris Lattner authored
llvm-svn: 44275
-
- Nov 20, 2007
-
-
Chris Lattner authored
llvm-svn: 44257
-
- Nov 11, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 43993
-
- May 15, 2007
-
-
Evan Cheng authored
llvm-svn: 37063
-
- Feb 27, 2007
-
-
Chris Lattner authored
llvm-svn: 34697
-
Evan Cheng authored
CodeGenTarget.cpp updated: 1.82 -> 1.83 Record.cpp updated: 1.55 -> 1.56 Record.h updated: 1.59 -> 1.60 TableGen.cpp updated: 1.47 -> 1.48 It's missing CallingConvEmitter.h llvm-svn: 34693
-
Chris Lattner authored
llvm-svn: 34682
-
- Dec 07, 2006
-
-
Bill Wendling authored
llvm-svn: 32333
-
- Aug 28, 2006
-
-
Reid Spencer authored
llvm-svn: 29930
-
- Mar 31, 2006
-
-
Chris Lattner authored
operation. This implements Regression/TableGen/strconcat.td. llvm-svn: 27312
-
Chris Lattner authored
llvm-svn: 27263
-
- Jan 31, 2006
-
-
Chris Lattner authored
llvm-svn: 25836
-
- Oct 29, 2005
-
-
Chris Lattner authored
reflect what it is. Convert some more code over to use it. llvm-svn: 24072
-
- Oct 28, 2005
-
-
Jim Laskey authored
simplifies using list of records. llvm-svn: 24069
-
- Sep 13, 2005
-
-
Chris Lattner authored
methods. Use it to simplify some code. llvm-svn: 23336
-
- Aug 19, 2005
-
-
Chris Lattner authored
llvm-svn: 22912
-