summaryrefslogtreecommitdiffstats
path: root/llvm/docs/TableGenFundamentals.html
Commit message (Collapse)AuthorAgeFilesLines
* Sphinxify the tablegen document.Bill Wendling2012-06-211-978/+0
| | | | llvm-svn: 158903
* Add support for range expressions in TableGen foreach loops.Jakob Stoklund Olesen2012-05-241-2/+6
| | | | | | | | | | | | Like this: foreach i = 0-127 in ... Use braces for composite ranges: foreach i = {0-3,9-7} in ... llvm-svn: 157432
* Reflect that tblgen is now llvm-tblgenJoel Jones2012-05-241-6/+7
| | | | llvm-svn: 157371
* [docs] Update HTML pages to refer to CSS in a way that works locally and ↵Daniel Dunbar2012-04-191-1/+1
| | | | | | with Sphinx. llvm-svn: 155153
* llvm/docs/*.html: Fix markups.NAKAMURA Takumi2012-03-271-1/+1
| | | | llvm-svn: 153508
* Add Foreach LoopDavid Greene2012-02-221-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 151164
* docs/*.html: Appease W3C Checker to add "charset=utf-8".NAKAMURA Takumi2011-10-311-0/+1
| | | | llvm-svn: 143348
* Document PasteDavid Greene2011-10-191-0/+4
| | | | | | Document paste as a shorthand for !strconcat. llvm-svn: 142528
* Document NAMEDavid Greene2011-10-191-0/+8
| | | | | | | Document NAME as a special member of def records that should not be defined anywhere else. llvm-svn: 142527
* Remove MultidefsDavid Greene2011-10-071-59/+0
| | | | | | | | | | | | | | | | | | | 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" llvm-svn: 141378
* Fix a typo.David Greene2011-10-051-1/+1
| | | | | | Fix the argument passed in the multidef example. llvm-svn: 141243
* Document MultidefsDavid Greene2011-10-051-0/+59
| | | | | | | Provide documentation for multidefs, explaining in detail how they work. llvm-svn: 141236
* docs: Introduce cascading style <div> and <p> continued on <h[2-5]>.NAKAMURA Takumi2011-04-231-24/+31
| | | | | | | | | | | | | | | | | <h2>Section Example</h2> <div> <!-- h2+div is applied --> <p>Section preamble.</p> <h3>Subsection Example</h3> <p> <!-- h3+p is applied --> Subsection body </p> <!-- End of section body --> </div> FIXME: Care H5 better. llvm-svn: 130040
* docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.NAKAMURA Takumi2011-04-181-30/+30
| | | | | | | | | H1 ... doc_title H2 ... doc_section H3 ... doc_subsection H4 ... doc_subsubsection llvm-svn: 129736
* docs: Canonicalize URLs.NAKAMURA Takumi2011-04-091-1/+1
| | | | llvm-svn: 129181
* Rename lisp-like functions as suggested by Gabor Greif as loooong timeDavid Greene2011-01-071-3/+3
| | | | | | ago. This is both easier to learn and easier to read. llvm-svn: 123001
* Fix newlines.Bill Wendling2010-12-081-1/+3
| | | | llvm-svn: 121233
* fix the !eq operator in tblgen to return a bit instead of an int.Chris Lattner2010-10-311-1/+1
| | | | | | | | Use this to make the X86 and ARM targets set isCodeGenOnly=1 automatically for their instructions that have Format=Pseudo, resolving a hack in tblgen. llvm-svn: 117862
* Validate HTML.Benjamin Kramer2010-10-301-9/+7
| | | | llvm-svn: 117847
* remove the !nameconcat tblgen feature. It "shorthand" and only used in 4 placesChris Lattner2010-10-061-2/+0
| | | | | | where !cast is just as short. llvm-svn: 115722
* Remove isTwoAddress from llvm.Eric Christopher2010-06-211-1/+0
| | | | llvm-svn: 106470
* Teach tablegen how to inherit from classes in 'defm' definitions.Bruno Cardoso Lopes2010-06-181-0/+41
| | | | | | | The rule is simple: only inherit from a class list if they come in the end, after the last multiclass. llvm-svn: 106305
* For a tablegen expression such as !if(a,b,c), let 'a'Bruno Cardoso Lopes2010-06-171-1/+2
| | | | | | be evaluated for 'bit' operators llvm-svn: 106185
* let the '!eq' expression support 'int' and 'bit' typesBruno Cardoso Lopes2010-06-161-2/+2
| | | | llvm-svn: 106171
* Teach tablegen to allow "let" expressions inside multiclasses,Bruno Cardoso Lopes2010-06-101-0/+26
| | | | | | providing more ways to factor out commonality from the records. llvm-svn: 105776
* Teach tablegen to support 'defm' inside multiclasses.Bruno Cardoso Lopes2010-06-051-0/+44
| | | | llvm-svn: 105519
* Revert r103213. It broke several sections of live website.mike-m2010-05-071-0/+802
| | | | llvm-svn: 103219
* Overhauled llvm/clang docs builds. Closes PR6613.mike-m2010-05-061-802/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: 2nd part changeset for cfe trunk to follow. *** PRE-PATCH ISSUES ADDRESSED - clang api docs fail build from objdir - clang/llvm api docs collide in install PREFIX/ - clang/llvm main docs collide in install - clang/llvm main docs have full of hard coded destination assumptions and make use of absolute root in static html files; namely CommandGuide tools hard codes a website destination for cross references and some html cross references assume website root paths *** IMPROVEMENTS - bumped Doxygen from 1.4.x -> 1.6.3 - splits llvm/clang docs into 'main' and 'api' (doxygen) build trees - provide consistent, reliable doc builds for both main+api docs - support buid vs. install vs. website intentions - support objdir builds - document targets with 'make help' - correct clean and uninstall operations - use recursive dir delete only where absolutely necessary - added call function fn.RMRF which safeguards against botched 'rm -rf'; if any target (or any variable is evaluated) which attempts to remove any dirs which match a hard-coded 'safelist', a verbose error will be printed and make will error-stop. llvm-svn: 103213
* improve tblgen doc, pointed out by Zhongxing.Chris Lattner2010-04-221-2/+3
| | | | llvm-svn: 102072
* remove parallel support.Chris Lattner2010-03-271-3/+0
| | | | llvm-svn: 99703
* The mayHaveSideEffects flag is no longer used.Dan Gohman2010-02-271-1/+0
| | | | llvm-svn: 97348
* Fix a typo.Dan Gohman2010-02-261-1/+1
| | | | llvm-svn: 97206
* Add an !eq() operator to TableGen. It operates on strings only.David Greene2010-01-051-0/+4
| | | | | | Use !cast<string>() to compare other types of objects. llvm-svn: 92754
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-291-1/+1
| | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
* Move implicit and paralle to a separate codegen specific section.Evan Cheng2009-10-051-7/+19
| | | | llvm-svn: 83291
* Documentation: fix HTML validation errors.Benjamin Kramer2009-08-051-5/+5
| | | | llvm-svn: 78196
* Implement !cast<string>.David Greene2009-06-291-1/+2
| | | | llvm-svn: 74444
* Revert 73074 and 73099 because Windows doesn't have POSIXDavid Greene2009-06-091-7/+0
| | | | | | | regular expressions. We will add an OpenBSD implementation and re-apply ASAP. llvm-svn: 73138
* Add a !patsubst operator. Use on string types.David Greene2009-06-081-0/+4
| | | | llvm-svn: 73099
* Update documentation.David Greene2009-06-081-2/+5
| | | | llvm-svn: 73092
* Add a !regmatch operator to do pattern matching in TableGen.David Greene2009-06-081-0/+3
| | | | llvm-svn: 73074
* Add short descriptions of 'implicit' and 'parallel'.Evan Cheng2009-05-181-0/+7
| | | | llvm-svn: 72050
* Implement !if, analogous to $(if) in GNU make.David Greene2009-05-141-0/+2
| | | | llvm-svn: 71815
* Graduate LLVM to the big leagues by embedding a LISP processor into TableGen.David Greene2009-05-141-0/+6
| | | | | | | | | | Ok, not really, but do support some common LISP functions: * car * cdr * null llvm-svn: 71805
* Implement a !foreach operator analogous to GNU make's $(foreach).David Greene2009-05-141-0/+4
| | | | | | | | | | | | | | 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
* Implement a !subst operation simmilar to $(subst) in GNU make to doDavid Greene2009-05-141-0/+3
| | | | | | | | | | | | | | | | 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
* Implement !cast.David Greene2009-05-141-4/+5
| | | | llvm-svn: 71794
* Fix a documentation bug.David Greene2009-04-231-1/+1
| | | | llvm-svn: 69923
* Make BinOps typed and require a type specifier for !nameconcat. ThisDavid Greene2009-04-231-3/+3
| | | | | | | allows binops to be used in typed contexts such as when passing arguments to classes. llvm-svn: 69921
* Allow defm to inherit from multiple multiclasses.David Greene2009-04-221-3/+4
| | | | llvm-svn: 69832
OpenPOWER on IntegriCloud