- Oct 31, 2010
-
-
Chris Lattner authored
let Constraints = "$val = $dst", Defs = [EFLAGS] in, isCodeGenOnly = 1 { we now get: X86InstrCompiler.td:653:52: error: Expected class, def, defm, multiclass or let definition let Constraints = "$val = $dst", Defs = [EFLAGS] in, isCodeGenOnly = 1 { ^ llvm-svn: 117863
-
Chris Lattner authored
Use this to make the X86 and ARM targets set isCodeGenOnly=1 automatically for their instructions that have Format=Pseudo, resolving a hack in tblgen. llvm-svn: 117862
-
- Oct 23, 2010
-
-
Mikhail Glushenkov authored
llvm-svn: 117197
-
Mikhail Glushenkov authored
llvm-svn: 117195
-
- Oct 06, 2010
-
-
Chris Lattner authored
as the operator of the dag. Specifically, this allows parsing things like (F.x 4) in addition to just (a 4). Unfortunately, this runs afoul of an idiom being used by llvmc. It is using dags like (foo [1,2,3]) to represent a list of stuff being passed into foo. With this change, this is parsed as a [1,2,3] subscript on foo instead of being the first argument to the dag. Cope with this in the short term by requiring a "-llvmc-temp-hack" argument to tblgen to get the old parsing behavior. llvm-svn: 115742
-
Chris Lattner authored
llvm-svn: 115739
-
Chris Lattner authored
where !cast is just as short. llvm-svn: 115722
-
Chris Lattner authored
!strconcat(!strconcat(!strconcat(!strconcat Simplify some x86 td files to use it. llvm-svn: 115719
-
Chris Lattner authored
simplify the X86 CMOVmr's. llvm-svn: 115702
-
- Jun 22, 2010
-
-
Bruno Cardoso Lopes authored
a toplevel 'defm', make sure to properly resolve references. llvm-svn: 106570
-
- Jun 18, 2010
-
-
Bruno Cardoso Lopes authored
The rule is simple: only inherit from a class list if they come in the end, after the last multiclass. llvm-svn: 106305
-
- Jun 10, 2010
-
-
Bruno Cardoso Lopes authored
providing more ways to factor out commonality from the records. llvm-svn: 105776
-
- Jun 05, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 105519
-
- 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
-