- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120304
-
- Oct 06, 2010
-
-
Chris Lattner authored
where !cast is just as short. llvm-svn: 115722
-
- Sep 27, 2010
-
-
Benjamin Kramer authored
llvm-svn: 114847
-
- Sep 21, 2010
-
-
Mikhail Glushenkov authored
llvm-svn: 114435
-
- Sep 03, 2010
-
-
David Greene authored
Generalize getFieldType to work on all TypedInits. Add a couple of testcases from Amaury Pouly. llvm-svn: 113010
-
- May 26, 2010
-
-
Jakob Stoklund Olesen authored
This means that our Registers are now ordered R7, R8, R9, R10, R12, ... Not R1, R10, R11, R12, R2, R3, ... llvm-svn: 104745
-
- Apr 09, 2010
-
-
Johnny Chen authored
We are bound to fail! For proper disassembly, the well-known encoding bits of the instruction must be fully specified. This also removes pseudo instructions from considerations of disassembly, which is a better design and less fragile than the name matchings. llvm-svn: 100899
-
- Apr 05, 2010
-
-
Jakob Stoklund Olesen authored
When a target instruction wants to set target-specific flags, it should simply set bits in the TSFlags bit vector defined in the Instruction TableGen class. This works well because TableGen resolves member references late: class I : Instruction { AddrMode AM = AddrModeNone; let TSFlags{3-0} = AM.Value; } let AM = AddrMode4 in def ADD : I; TSFlags gets the expected bits from AddrMode4 in this example. llvm-svn: 100384
-
- Mar 25, 2010
-
-
Jakob Stoklund Olesen authored
Remove much horribleness from X86InstrFormats as a result. Similar simplifications are probably possible for other targets. llvm-svn: 99539
-
Jakob Stoklund Olesen authored
If a TableGen class has an initializer expression containing an X.Y subexpression, AND X depends on template parameters, AND those template parameters have defaults, AND some parameters with defaults are beyond position 1, THEN parts of the initializer expression are evaluated prematurely with the default values when the first explicit template parameter is substituted, before the remaining explicit template parameters have been substituted. llvm-svn: 99492
-
- Mar 01, 2010
-
-
Chris Lattner authored
ordered correctly. Previously it would get in trouble when two patterns were too similar and give them nondet ordering. We force this by using the record ID order as a fallback. The testsuite diff is due to alpha patterns being ordered slightly differently, the change is a semantic noop afaict: < lda $0,-100($16) --- > subq $16,100,$0 llvm-svn: 97509
-
- 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 24, 2009
-
-
Dan Gohman authored
llvm-svn: 89729
-
- Nov 22, 2009
-
-
Bob Wilson authored
llvm-svn: 89582
-
- Nov 21, 2009
-
-
Bob Wilson authored
llvm-svn: 89566
-
Bob Wilson authored
llvm-svn: 89565
-
- Oct 26, 2009
-
-
Chandler Carruth authored
direct inclusion edge from System to Support. llvm-svn: 85086
-
- Sep 18, 2009
-
-
Chris Lattner authored
llvm-svn: 82244
-
- Aug 23, 2009
-
-
Daniel Dunbar authored
- This manifested as non-determinism in the .inc output in rare cases (when two distinct patterns ended up being equivalent, which is rather rare). That meant the pattern matching was non-deterministic, which could eventually mean the code generator selected different instructions based on the arch. - It's probably worth making the DAGISel ensure a total ordering (or force the user to), but the simple fix here is to totally order the Record* maps based on a unique ID. - PR4672, PR4711. Yay: -- ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum d1099ff34b21459a5a3e7021c225c080e6017ece - ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum d1099ff34b21459a5a3e7021c225c080e6017ece - -- llvm-svn: 79846
-
- 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
Implement !cast<string>. llvm-svn: 74444
-
- Jun 21, 2009
-
-
Chris Lattner authored
llvm-svn: 73843
-
Chris Lattner authored
llvm-svn: 73842
-
- 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
-
-
Nick Lewycky authored
Also fix up some 80col violations while I'm there. llvm-svn: 71833
-
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
-