Fixup debug information references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227020 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Charlie Turner 2015-01-24 21:51:21 +00:00
parent 7f58cf305f
commit c7efed60ef
3 changed files with 13 additions and 11 deletions

View File

@ -73,7 +73,14 @@ in the various pieces. The structure of the tutorial is:
about this is how easy and trivial it is to construct SSA form in about this is how easy and trivial it is to construct SSA form in
LLVM: no, LLVM does *not* require your front-end to construct SSA LLVM: no, LLVM does *not* require your front-end to construct SSA
form! form!
- `Chapter #8 <LangImpl8.html>`_: Conclusion and other useful LLVM - `Chapter #8 <LangImpl8.html>`_: Extending the Language: Debug
Information - Having built a decent little programming language with
control flow, functions and mutable variables, we consider what it
takes to add debug information to standalone executables. This debug
information will allow you to set breakpoints in Kaleidoscope
functions, print out argument variables, and call functions - all
from within the debugger!
- `Chapter #9 <LangImpl8.html>`_: Conclusion and other useful LLVM
tidbits - This chapter wraps up the series by talking about tidbits - This chapter wraps up the series by talking about
potential ways to extend the language, but also includes a bunch of potential ways to extend the language, but also includes a bunch of
pointers to info about "special topics" like adding garbage pointers to info about "special topics" like adding garbage

View File

@ -856,5 +856,5 @@ Here is the code:
.. literalinclude:: ../../examples/Kaleidoscope/Chapter7/toy.cpp .. literalinclude:: ../../examples/Kaleidoscope/Chapter7/toy.cpp
:language: c++ :language: c++
`Next: Conclusion and other useful LLVM tidbits <LangImpl8.html>`_ `Next: Extending the Language: Debug Information <LangImpl8.html>`_

View File

@ -14,9 +14,10 @@ grown our little Kaleidoscope language from being a useless toy, to
being a semi-interesting (but probably still useless) toy. :) being a semi-interesting (but probably still useless) toy. :)
It is interesting to see how far we've come, and how little code it has It is interesting to see how far we've come, and how little code it has
taken. We built the entire lexer, parser, AST, code generator, and an taken. We built the entire lexer, parser, AST, code generator, an
interactive run-loop (with a JIT!) by-hand in under 1000 lines of interactive run-loop (with a JIT!), and emitted debug information in
(non-comment/non-blank) code. standalone executables - all in under 1000 lines of (non-comment/non-blank)
code.
Our little language supports a couple of interesting features: it Our little language supports a couple of interesting features: it
supports user defined binary and unary operators, it uses JIT supports user defined binary and unary operators, it uses JIT
@ -68,12 +69,6 @@ For example, try adding:
collection, note that LLVM fully supports `Accurate Garbage collection, note that LLVM fully supports `Accurate Garbage
Collection <../GarbageCollection.html>`_ including algorithms that Collection <../GarbageCollection.html>`_ including algorithms that
move objects and need to scan/update the stack. move objects and need to scan/update the stack.
- **debugger support** - LLVM supports generation of `DWARF Debug
info <../SourceLevelDebugging.html>`_ which is understood by common
debuggers like GDB. Adding support for debug info is fairly
straightforward. The best way to understand it is to compile some
C/C++ code with "``clang -g -O0``" and taking a look at what it
produces.
- **exception handling support** - LLVM supports generation of `zero - **exception handling support** - LLVM supports generation of `zero
cost exceptions <../ExceptionHandling.html>`_ which interoperate with cost exceptions <../ExceptionHandling.html>`_ which interoperate with
code compiled in other languages. You could also generate code by code compiled in other languages. You could also generate code by