- Oct 06, 2010
-
-
Chris Lattner authored
where !cast is just as short. llvm-svn: 115722
-
Chris Lattner authored
tried (but failed) to artificially constrain it to working with #NAME#. Just allow any # in identifiers, and update the comments. llvm-svn: 115704
-
- Sep 27, 2010
-
-
Benjamin Kramer authored
llvm-svn: 114847
-
- 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
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- Jun 30, 2009
-
-
Daniel Dunbar authored
- Don't print "Parsing" in front of every message. - Take additional "type" argument which is prepended to the message (with ": ") if given. - Update clients to print errors (warnings) as: <filename>:<line number>: error(warning): ... llvm-svn: 74489
-
- Jun 21, 2009
-
-
Chris Lattner authored
llvm-svn: 73861
-
Chris Lattner authored
llvm-svn: 73856
-
Chris Lattner authored
llvm-svn: 73847
-
Chris Lattner authored
llvm-svn: 73845
-
Chris Lattner authored
llvm-svn: 73844
-
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
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 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 13, 2009
-
-
Chris Lattner authored
them, then the asmprinter emitter reescape them. llvm-svn: 66958
-
Chris Lattner authored
llvm-svn: 66957
-
Chris Lattner authored
llvm-svn: 66949
-
Chris Lattner authored
llvm-svn: 66895
-
Chris Lattner authored
lexer into its own TGSourceMgr class. llvm-svn: 66873
-
- 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
-
- Oct 08, 2008
-
-
Duncan Sands authored
Patch by Samuel Tardieu. llvm-svn: 57291
-
- Apr 01, 2008
-
-
Chris Lattner authored
start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. llvm-svn: 49041
-
- Feb 20, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 47367
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
- Nov 22, 2007
-
-
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
-
- Nov 21, 2007
-
-
Chuck Rose III authored
llvm-svn: 44264
-
Chuck Rose III authored
I added the lexing files to the VStudio projects and removed the .l files from the VStudio projects. There was a problem with use of strtoll in TGLexer.cpp and Chris suggested switching to strtol, so that's included here. Additionally, this checkin adds minimal x64 builds to the VStudio builds. Build issues related to x64 in the windows specific files for DynamicLibrary.inc and Singals.inc are worked around, but not ultimately solved. Binaries used to be stored in ...\win32\{Debug|Release} but are now kept in ...\win32\bin\{win32|x64}\{Debug|Release} intermediate files will continue to be stored in the individual project directories under win32. Some names will likely change in the future to reflect that the vstudio projects are no longer 32-bit only, but I wanted to get things up and running today so kept away from bigger restructuring. llvm-svn: 44260
-
- Nov 19, 2007
-
-
Chris Lattner authored
llvm-svn: 44227
-
Chris Lattner authored
llvm-svn: 44226
-
- Nov 18, 2007
-
-
Chris Lattner authored
llvm-svn: 44212
-