summaryrefslogtreecommitdiffstats
path: root/llvm/docs/TableGen
Commit message (Collapse)AuthorAgeFilesLines
* Improvements to TableGen/LangIntro.rstAlex Bradbury2017-05-021-2/+7
| | | | | | | | | | | Document the 'code' data type, and that value{15-17} is different to value{17-15}. Patch by @chenwj (Wei-Ren Chen). Differential Revision: https://reviews.llvm.org/D32117 llvm-svn: 301920
* [X86][AVX512] Adding new LLVM TableGen backend which generates the EVEX2VEX ↵Ayman Musa2017-03-071-0/+6
| | | | | | | | | | | | compressing tables. X86EvexToVex machine instruction pass compresses EVEX encoded instructions by replacing them with their identical VEX encoded instructions when possible. It uses manually supported 2 large tables that map the EVEX instructions to their VEX ideticals. This TableGen backend replaces the tables by automatically generating them. Differential Revision: https://reviews.llvm.org/D30451 llvm-svn: 297127
* [Docs][TableGen] Remove reference to tablegen supporting octal integers. It ↵Craig Topper2016-11-181-3/+0
| | | | | | doesn't and hasn't for at least 9 years. llvm-svn: 287299
* TableGen: Add operator !orMatt Arsenault2016-11-151-1/+3
| | | | llvm-svn: 286936
* [docs] Fixing Sphinx warnings to unclog the buildbotRenato Golin2016-07-202-19/+19
| | | | | | | | | | | | | | | | | | | | | | | Lots of blocks had "llvm" or "nasm" syntax types but either weren't following the syntax, or the syntax has changed (and sphinx hasn't keep up) or the type doesn't even exist (nasm?). Other documents had :options: what were invalid. I only removed those that had warnings, and left the ones that didn't, in order to follow the principle of least surprise. This is like this for ages, but the buildbot is now failing on errors. It may take a while to upgrade the buildbot's sphinx, if that's even possible, but that shouldn't stop us from getting docs updates (which seem down for quite a while). Also, we're not losing any syntax highlight, since when it doesn't parse, it doesn't colour. Ie. those blocks are not being highlighted anyway. I'm trying to get all docs in one go, so that it's easy to revert later if we do fix, or at least easy to know what's to fix. llvm-svn: 276109
* Fixing a few places in this doc which look like obvious typos.Yunzhong Gao2016-07-201-4/+5
| | | | llvm-svn: 276070
* fix some various typos in the docSylvestre Ledru2016-07-021-1/+1
| | | | llvm-svn: 274449
* Rename all references to old mailing lists to new lists.llvm.org address.Tanya Lattner2015-08-052-2/+2
| | | | llvm-svn: 243999
* [TableGen] Correct the documentation for 'foreach' in the Language Intro.Craig Topper2015-06-061-1/+1
| | | | llvm-svn: 239204
* Remove neverHasSideEffects support from TableGen CodeGenInstruction. ↵Craig Topper2014-11-261-1/+0
| | | | | | Everyone should use hasSideEffects now. llvm-svn: 222809
* Fix typo in TableGen documentationJonathan Roelofs2014-10-031-1/+1
| | | | llvm-svn: 219018
* Document !and. Fix !shl and friends -- they provide binary operations.Joerg Sonnenberger2014-09-032-3/+3
| | | | llvm-svn: 217034
* Reinstate "Nuke the old JIT."Eric Christopher2014-09-021-2/+1
| | | | | | | | Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reinstates commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 216982
* Temporarily Revert "Nuke the old JIT." as it's not quite ready toEric Christopher2014-08-071-1/+2
| | | | | | | | | | | be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate. Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reverts commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 215154
* Nuke the old JIT.Rafael Espindola2014-08-071-2/+1
| | | | | | | | | I am sure we will be finding bits and pieces of dead code for years to come, but this is a good start. Thanks to Lang Hames for making MCJIT a good replacement! llvm-svn: 215111
* Update Tablegen documents given that binary literals are now sizedPete Cooper2014-08-072-3/+10
| | | | llvm-svn: 215088
* Fix typos in comments and docJF Bastien2014-08-051-1/+1
| | | | | | Committing http://reviews.llvm.org/D4798 for Robin Morisset (morisset@google.com) llvm-svn: 214934
* Fix Sphinx warnings.Dan Liew2014-07-211-4/+1
| | | | llvm-svn: 213559
* [TableGen] Allow shift operators to take bits<n>Adam Nemet2014-07-171-0/+6
| | | | | | | | | | | | | | | Convert the operand to int if possible, i.e. if the value is properly initialized. (I suppose there is further room for improvement here to also peform the shift if the uninitialized bits are shifted out.) With this little change we can now compute the scaling factor for compressed displacement with pure tablegen code in the X86 backend. This is useful because both the X86-disassembler-specific part of tablegen and the assembler need this and TD is the natural sharing place. The patch also adds the missing documentation for the shift and add operator. llvm-svn: 213277
* [tablegen] Add !listconcat operator with the similar semantics as !strconcatDaniel Sanders2014-05-072-1/+7
| | | | | | | | | | | | | | | | | | | | Summary: It concatenates two or more lists. In addition to the !strconcat semantics the lists must have the same element type. My overall aim is to make it easy to append to Instruction.Predicates rather than override it. This can be done by concatenating lists passed as arguments, or by concatenating lists passed in additional fields. Reviewers: dsanders Reviewed By: dsanders Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D3506 llvm-svn: 208183
* [tablegen] !strconcat accepts more than two arguments but this wasn't ↵Daniel Sanders2014-05-021-1/+3
| | | | | | | | | | | | | | | | | | | | documented or tested. Summary: * Updated the documentation * Added a test for >2 arguments * Added a check for the lexical concatenation * Made the existing test a bit stricter. Reviewers: t.p.northover Reviewed By: t.p.northover Subscribers: t.p.northover, llvm-commits Differential Revision: http://reviews.llvm.org/D3485 llvm-svn: 207865
* [docs] VCS contains a record of authorshipSean Silva2014-04-081-2/+0
| | | | | | No need to explicitly mention the author in the document. llvm-svn: 205793
* [docs] Fix some linksSean Silva2014-04-071-1/+1
| | | | | | | | The TableGen docs have changed structure Patch by Tay Ray Chuan! llvm-svn: 205744
* Recover TableGen/LangRef, make it officialRenato Golin2014-04-013-516/+905
| | | | | | | | | | | | | Making the new TableGen documentation official and marking the old file as "Moved". Also, reverting the original LangRef as the normative formal description of the language, while keeping the "new" LangRef as LangIntro for the less inlcined to reading language grammars. We should remove TableGenFundamentals.rst one day, but for now, just a warning that it moved will have to do, while we make sure there are no more links to it from elsewhere. llvm-svn: 205289
* Adding some very nascent information about the clang tablegen backends, with ↵Aaron Ballman2014-03-241-17/+49
| | | | | | a promise to add more information later. llvm-svn: 204635
* Add overall description, file comments, some structureRenato Golin2014-03-211-23/+138
| | | | llvm-svn: 204479
* Fix a few more grammatic errors in docs/TableGen/index.rstEli Bendersky2014-03-201-4/+4
| | | | llvm-svn: 204364
* Fix a couple of typos and an inaccurate description in the new TableGen docEli Bendersky2014-03-201-7/+6
| | | | llvm-svn: 204363
* Re-factor TableGen docsRenato Golin2014-03-204-299/+1133
| | | | | | | | | | | | | This is mainly a movement of content around to give place to new content allowing different people to add bits to it in the right place. There is some new content, but mostly to fill the gaps left by text movement. I'm dropping the old syntax documentation as it has the problem of being quickly outdated by changes and largely unnecessary to people not involved in creating the language, but using it, which is the whole point of the documentation. llvm-svn: 204351
* [docs] TableGen easter egg: Multiline string literalsSean Silva2014-02-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | They're called code fragments, but they are really multiline string literals. Just spotted this usage in a patch by Aaron using "code fragments" for holding documentation text. I remember someone bemoaning the lack of multiline string literals in TableGen, so I'm explicitly documenting that code fragments are multiline string literals. Let it be known that any use case needing multiline string literals in TableGen (such as descriptions of options, or whatnot) can use use code fragments (instead of C-style string concatenation or exceedingly long lines). E.g. class Bar<int n>; class Baz<int n>; class Doc<string desc> { string Desc = desc; } def Foo : Bar<1>, Baz<3>, Doc<[{ This Foo is a Bar, and also a Baz. It can take 3 values: * Qux * Quux * Quuux }]>; llvm-svn: 201033
* Allow TableGen DAG arguments to be just a name.Jakob Stoklund Olesen2013-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | DAG arguments can optionally be named: (dag node, node:$name) With this change, the node is also optional: (dag node, node:$name, $name) The missing node is treated as an UnsetInit, so the above is equivalent to: (dag node, node:$name, ?:$name) This syntax is useful in output patterns where we currently require the types of variables to be repeated: def : Pat<(subc i32:$b, i32:$c), (SUBCCrr i32:$b, i32:$c)>; This is preferable: def : Pat<(subc i32:$b, i32:$c), (SUBCCrr $b, $c)>; llvm-svn: 177843
* [docs] Fixup fallout from other grammar fixup.Sean Silva2013-02-011-1/+1
| | | | | | | | | | | | My "excuse" for not refactoring the grammar here is to not diverge too far from the grammar in the comments of TGParser.cpp, since I'm not taking on the quest of majorly refactoring TGParser.cpp at the moment. One benefit of doing this is that Ideas for refactoring and clarifying the grammar in this document should translate almost immediately to beneficial refactorings that can be made to TGParser.cpp. llvm-svn: 174144
* [docs] Add missing colon to TableGen grammar.Sean Silva2013-02-011-1/+1
| | | | | | Spotted by Eli Bendersky. llvm-svn: 174143
* Add an addition operator to TableGenHal Finkel2013-01-251-1/+1
| | | | | | | This adds an !add(a, b) operator to tablegen; this will be used to cleanup the PPC register definitions. llvm-svn: 173445
* TableGen/LangRef: link bang operators into the productionlistSean Silva2013-01-091-4/+6
| | | | | | | | Now BangOperator should be nicely hyperlinked. Pointed out by Joel Jones. llvm-svn: 171942
* TableGen/LangRef: discuss specific C-like escapesSean Silva2013-01-091-0/+5
| | | | | | Suggested by Joel Jones. llvm-svn: 171941
* docs: Fix mention of DefmID to MultiClassID.Sean Silva2013-01-091-3/+3
| | | | llvm-svn: 171940
* docs: Bring TableGen syntax a bit closer to reality.Sean Silva2013-01-091-1/+2
| | | | | | | | | It's not just def's but actually a limited subset of Object's that are allowed inside a multiclass. Spotted by Joel Jones. llvm-svn: 171935
* tblgen, docs: Add initial syntax reference.Sean Silva2013-01-071-0/+375
llvm-svn: 171685
OpenPOWER on IntegriCloud