a170f520a990a50c35f72d81b4415dc4c3ec50de |
|
07-Feb-2013 |
Sean Silva <silvas@purdue.edu> |
tblgen: Diagnose duplicate includes. A double inclusion will pretty much always be an error in TableGen, so there's no point going on just to die with "def already defined" or whatnot. I'm not too thrilled about the "public: ... private: ..." to expose the DependenciesMapTy, but I really didn't see a better way to keep that type centralized. It's a smell that indicates that some refactoring is needed to make this code more loosely coupled. This should avoid all bugs of the same nature as PR15189. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
d23a41c153712b929bd84f5e713bda5db5d6e66d |
|
25-Jan-2013 |
Hal Finkel <hfinkel@anl.gov> |
Add an addition operator to TableGen This adds an !add(a, b) operator to tablegen; this will be used to cleanup the PPC register definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
cebb4ee93a0064e4a2cb1fd1da7455b01e5655cb |
|
22-Feb-2012 |
David Greene <greened@obbligato.org> |
Add Foreach Loop Add some data structures to represent for loops. These will be referenced during object processing to do any needed iteration and instantiation. Add foreach keyword support to the lexer. Add a mode to indicate that we're parsing a foreach loop. This allows the value parser to early-out when processing the foreach value list. Add a routine to parse foreach iteration declarations. This is separate from ParseDeclaration because the type of the named value (the iterator) doesn't match the type of the initializer value (the value list). It also needs to add two values to the foreach record: the iterator and the value list. Add parsing support for foreach. Add the code to process foreach loops and create defs based on iterator values. Allow foreach loops to be matched at the top level. When parsing an IDValue check if it is a foreach loop iterator for one of the active loops. If so, return a VarInit for it. Add Emacs keyword support for foreach. Add VIM keyword support for foreach. Add tests to check foreach operation. Add TableGen documentation for foreach. Support foreach with multiple objects. Support non-braced foreach body with one object. Do not require types for the foreach declaration. Assume the iterator type from the iteration list element type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
bfbc9fcb8330e00f5fd6d1a52131950eb69be934 |
|
23-Dec-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
TableGen: add a comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
8cc300cb3415d1d806e6f9e6ecb7c3d3f8341ad2 |
|
23-Dec-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
try to fix MSVC build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
9421406aada374f79ce2f8e576824463f7830981 |
|
23-Dec-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
drop unneeded config.h includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
d3d1cad535d1c88e13e8e082c136260ee624967f |
|
19-Oct-2011 |
David Greene <greened@obbligato.org> |
Implement Paste Add a paste operator '#' to take two identifier-like strings and joint them. Internally paste gets represented as a !strconcat() with any necessary casts to string added. This will be used to implement basic for loop functionality as in: for i = [0, 1, 2, 3, 4, 5, 6, 7] { def R#i : Register<...> } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
7efe93625183a52733c23adc02c5c9c4337a7970 |
|
19-Oct-2011 |
David Greene <greened@obbligato.org> |
Disambiguate Numbers and Identifiers Use lookahead to determine whether a number is really a number or is part of something forming an identifier. This won't come into play until the paste operator is recognized as a unique token. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
a761f92cd38572dd65cc995c5f59b9c2c0f51068 |
|
19-Oct-2011 |
David Greene <greened@obbligato.org> |
Add Peek Add a peek function to let the Lexer look at a character arbitrarily far ahead in the stream without consuming anything. We need this to disambiguate numbers and operands of a paste operation. For example: def foo#8i Without lookahead the lexer will treat '8' as a number rather than as part of a string to be pasted to form an identifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
a1b1b79be15c4b79a4282f148085ebad1cf877ca |
|
07-Oct-2011 |
David Greene <greened@obbligato.org> |
Remove Multidefs Multidefs are a bit unwieldy and incomplete. Remove them in favor of another mechanism, probably for loops. Revert "Make Test More Thorough" Revert "Fix a typo." Revert "Vim Support for Multidefs" Revert "Emacs Support for Multidefs" Revert "Document Multidefs" Revert "Add a Multidef Test" Revert "Update Test for Multidefs" Revert "Process Multidefs" Revert "Parser Multidef Support" Revert "Lexer Support for Multidefs" Revert "Add Multidef Data Structures" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
ee573189c653c3261102ccd627bb571ab7535034 |
|
06-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use StringSwitch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
37d42af584f07c78d990a8f1bb128046aab2182d |
|
06-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
c2d18f8929770cdcb8329e0e14e3a37ba068059a |
|
06-Oct-2011 |
David Greene <greened@obbligato.org> |
Fix Typo Compare the entire keyword string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
b9c29eaa3d2c39ce549c4bb2849a4d901acc8368 |
|
06-Oct-2011 |
David Greene <greened@obbligato.org> |
Lexer Support for Multidefs Add keyword support for multidefs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|
7c788888872233748da10a8177a9a1eb176c1bc8 |
|
01-Oct-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move TableGen's parser and entry point into a library This is the first step towards splitting LLVM and Clang's tblgen executables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/TableGen/TGLexer.cpp
|