summaryrefslogtreecommitdiffstats
path: root/llvm/docs/tutorial/LangImpl8.rst
Commit message (Collapse)AuthorAgeFilesLines
* New Kaleidoscope chapter: Creating object filesWilfred Hughes2016-07-021-462/+0
| | | | | | | | | | | | This new chapter describes compiling LLVM IR to object files. The new chaper is chapter 8, so later chapters have been renumbered. Since this brings us to 10 chapters total, I've also needed to rename the other chapters to use two digit numbering. Differential Revision: http://reviews.llvm.org/D18070 llvm-svn: 274441
* LLVM tutorial: fix broken links/anchorsAlex Denisov2015-12-151-2/+2
| | | | llvm-svn: 255671
* Update tutorial for debug info IR change.Peter Collingbourne2015-11-051-1/+2
| | | | llvm-svn: 252226
* Big Kaleidoscope tutorial update.Lang Hames2015-08-261-4/+4
| | | | | | | | | | | | | This commit switches the underlying JIT for the Kaleidoscope tutorials from MCJIT to a custom ORC-based JIT, KaleidoscopeJIT. This fixes a lot of the bugs in Kaleidoscope that were introduced when we deleted the legacy JIT. The documentation for Chapter 4, which introduces the JIT APIs, is updated to reflect the change. Also included are a number of C++11 modernizations and general cleanup. Where appropriate, the docs have been updated to reflect these changes too. llvm-svn: 246002
* [Kaleidoscope] Clang-format the Kaleidoscope tutorials.Lang Hames2015-08-191-6/+8
| | | | | | Also reduces changes between tutorial chapters. llvm-svn: 245472
* [Kaleidoscope] Start C++11'ifying the kaleidoscope tutorials.Lang Hames2015-08-181-6/+7
| | | | llvm-svn: 245322
* DI: Rewrite the DIBuilder local variable APIDuncan P. N. Exon Smith2015-07-311-3/+2
| | | | | | | | | | | | Replace the general `createLocalVariable()` with two more specific functions: `createParameterVariable()` and `createAutoVariable()`, and rewrite the documentation. Besides cleaning up the API, this avoids exposing the fake DWARF tags `DW_TAG_arg_variable` and `DW_TAG_auto_variable` to frontends, and is preparation for removing them completely. llvm-svn: 243764
* DI/Verifier: Fix argument bitrot in DILocalVariableDuncan P. N. Exon Smith2015-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | Add a verifier check that `DILocalVariable`s of tag `DW_TAG_arg_variable` always have a non-zero 'arg:' field, and those of tag `DW_TAG_auto_variable` always have a zero 'arg:' field. These are the only configurations that are properly understood by the backend. (Also, fix the bad examples in LangRef and test/Assembler, and fix the bug in Kaleidoscope Ch8.) A large number of testcases seem to have bitrotted their way forward from some ancient version of the debug info hierarchy that didn't have `arg:` parameters. If you have out-of-tree testcases that start failing in the verifier and you don't care enough to get the `arg:` right, you may have some luck just calling: sed -e 's/, arg: 0/, arg: 1/' or some such, but I hand-updated the ones in tree. llvm-svn: 243183
* IR: Give 'DI' prefix to debug info metadataDuncan P. N. Exon Smith2015-04-291-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Finish off PR23080 by renaming the debug info IR constructs from `MD*` to `DI*`. The last of the `DIDescriptor` classes were deleted in r235356, and the last of the related typedefs removed in r235413, so this has all baked for about a week. Note: If you have out-of-tree code (like a frontend), I recommend that you get everything compiling and tests passing with the *previous* commit before updating to this one. It'll be easier to keep track of what code is using the `DIDescriptor` hierarchy and what you've already updated, and I think you're extremely unlikely to insert bugs. YMMV of course. Back to *this* commit: I did this using the rename-md-di-nodes.sh upgrade script I've attached to PR23080 (both code and testcases) and filtered through clang-format-diff.py. I edited the tests for test/Assembler/invalid-generic-debug-node-*.ll by hand since the columns were off-by-three. It should work on your out-of-tree testcases (and code, if you've followed the advice in the previous paragraph). Some of the tests are in badly named files now (e.g., test/Assembler/invalid-mdcompositetype-missing-tag.ll should be 'dicompositetype'); I'll come back and move the files in a follow-up commit. llvm-svn: 236120
* docs: Update Kaleidoscope for recent DI changesDuncan P. N. Exon Smith2015-04-181-26/+26
| | | | | | | | This has been bit-rotting, so fix it up. I'll have to edit this again once the MD* classes have been renamed to DI* -- I'll try to remember to do that with the commit that renames them. llvm-svn: 235244
* Rename the 'Extending the Language: Debug Information' to 'Adding Debug ↵David Blaikie2015-02-071-3/+3
| | | | | | Information' since this isn't actually modifying/extending the language. llvm-svn: 228512
* The Kaleidoscope tutorial should be using "mcjit" for the library,Eric Christopher2015-01-081-1/+1
| | | | | | "jit" doesn't exist anymore. llvm-svn: 225462
* Add argument variable support to the debug info tutorialEric Christopher2014-12-091-9/+43
| | | | | | | and rearrange the prologue source location hack to immediately after it. llvm-svn: 223725
* Clean up the rst for the debug info tutorialEric Christopher2014-12-081-52/+52
| | | | llvm-svn: 223682
* Add Chapter 8 to the Kaleidoscope tutorial. This chapter addsEric Christopher2014-12-081-262/+420
| | | | | | | | | a description of how to add debug information using DWARF and DIBuilder to the language. Thanks to David Blaikie for his assistance with this tutorial. llvm-svn: 223671
* [docs] Clean up some more llvm-gcc stuffSean Silva2014-02-191-1/+1
| | | | | | | | | | Some references to llvm-gcc were so crusty that I wasn't sure how to proceed and so I've left them intact. I also slipped in a quick peephole fix to use a :doc: link instead of raw HTML link. llvm-svn: 201619
* [docs] Remove explicit authorship.Sean Silva2013-03-111-2/+0
| | | | | | | In the spirit of r172109. Version control keeps a far more detailed record of authorship anyways. llvm-svn: 176807
* docs: Sphinxify `docs/tutorial/`Sean Silva2012-12-051-0/+269
Sorry for the massive commit, but I just wanted to knock this one down and it is really straightforward. There are still a couple trivial (i.e. not related to the content) things left to fix: - Use of raw HTML links where :doc:`...` and :ref:`...` could be used instead. If you are a newbie and want to help fix this it would make for some good bite-sized patches; more experienced developers should be focusing on adding new content (to this tutorial or elsewhere, but please _do not_ waste your time on formatting when there is such dire need for documentation (see docs/SphinxQuickstartTemplate.rst to get started writing)). - Highlighting of the kaleidoscope code blocks (currently left as bare `::`). I will be working on writing a custom Pygments highlighter for this, mostly as training for maintaining the `llvm` code-block's lexer in-tree. I want to do this because I am extremely unhappy with how it just "gives up" on the slightest deviation from the expected syntax and leaves the whole code-block un-highlighted. More generally I am looking at writing some Sphinx extensions and keeping them in-tree as well, to support common use cases that currently have no good solution (like "monospace text inside a link"). llvm-svn: 169343
OpenPOWER on IntegriCloud