- Jan 05, 2010
-
-
David Greene authored
Add an !eq() operator to TableGen. It operates on strings only. Use !cast<string>() to compare other types of objects. llvm-svn: 92754
-
- Nov 22, 2009
-
-
Bob Wilson authored
llvm-svn: 89582
-
- Aug 13, 2009
-
-
Dan Gohman authored
llvm-svn: 78848
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- Jun 29, 2009
-
-
David Greene authored
Improve TableGen error reporting. llvm-svn: 74443
-
- Jun 21, 2009
-
-
Chris Lattner authored
llvm-svn: 73843
-
- Jun 09, 2009
-
-
David Greene authored
Revert 73074 and 73099 because Windows doesn't have POSIX regular expressions. We will add an OpenBSD implementation and re-apply ASAP. llvm-svn: 73138
-
David Greene authored
Add a !patsubst operator. Use on string types. llvm-svn: 73099
-
- Jun 08, 2009
-
-
David Greene authored
Make IntInits and ListInits typed. This helps deduce types of !if and 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
-
David Greene authored
Add a !regmatch operator to do pattern matching in TableGen. llvm-svn: 73074
-
- 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
-
- May 05, 2009
-
-
David Greene authored
Allow multiclass def names to contain "#NAME"" where TableGen replaces #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
-
- Apr 30, 2009
-
-
Bob Wilson authored
so that it doesn't shadow the instance variable of the same name. Make the parameter names in method declarations match the definitions. llvm-svn: 70502
-
Bob Wilson authored
llvm-svn: 70499
-
- Apr 28, 2009
-
-
Bob Wilson authored
llvm-svn: 70319
-
- 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
-
David Greene authored
Allow defm to inherit from multiple multiclasses. llvm-svn: 69832
-
- 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
-
David Greene authored
llvm-svn: 69810
-
- Mar 26, 2009
-
-
Jim Grosbach authored
llvm-svn: 67758
-
- 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
-
-
Chris Lattner authored
llvm-svn: 66897
-
Chris Lattner authored
llvm-svn: 66895
-
- Mar 11, 2009
-
-
Chris Lattner authored
llvm-svn: 66663
-
- Feb 14, 2009
-
-
Cedric Venet authored
Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. llvm-svn: 64554
-
- 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
-
- Apr 10, 2008
-
-
Chris Lattner authored
def : Pat<((v2f64 (vector_shuffle immAllZerosV_bc, ^ llvm-svn: 49462
-
- Jan 10, 2008
-
-
Chris Lattner authored
llvm-svn: 45827
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
- Nov 27, 2007
-
-
Chuck Rose III authored
Add TGParser files to VStudio project files. Removed generated files section from TableGen project file as it is no longer needed. #Include <algorithm> directly from TGParser.cpp so it can see std::reverse. llvm-svn: 44340
-
- Nov 22, 2007
-
-
Chris Lattner authored
llvm-svn: 44277
-
Chris Lattner authored
This makes the parser much easier to understand, eliminates a ton of global variables, and gives tblgen nice caret diagnostics. It is also faster, but tblgen probably doesn't care about performance. There are a couple of FIXMEs which I will take care of next. llvm-svn: 44274
-