- 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
-
Chris Lattner authored
llvm-svn: 44211
-
Chris Lattner authored
one dependency on flex and gets rid of two ".cvs" files. llvm-svn: 44210
-