mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
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:
parent
7f58cf305f
commit
c7efed60ef
@ -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
|
||||
LLVM: no, LLVM does *not* require your front-end to construct SSA
|
||||
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
|
||||
potential ways to extend the language, but also includes a bunch of
|
||||
pointers to info about "special topics" like adding garbage
|
||||
|
@ -856,5 +856,5 @@ Here is the code:
|
||||
.. literalinclude:: ../../examples/Kaleidoscope/Chapter7/toy.cpp
|
||||
:language: c++
|
||||
|
||||
`Next: Conclusion and other useful LLVM tidbits <LangImpl8.html>`_
|
||||
`Next: Extending the Language: Debug Information <LangImpl8.html>`_
|
||||
|
||||
|
@ -14,9 +14,10 @@ grown our little Kaleidoscope language from being a useless toy, to
|
||||
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
|
||||
taken. We built the entire lexer, parser, AST, code generator, and an
|
||||
interactive run-loop (with a JIT!) by-hand in under 1000 lines of
|
||||
(non-comment/non-blank) code.
|
||||
taken. We built the entire lexer, parser, AST, code generator, an
|
||||
interactive run-loop (with a JIT!), and emitted debug information in
|
||||
standalone executables - all in under 1000 lines of (non-comment/non-blank)
|
||||
code.
|
||||
|
||||
Our little language supports a couple of interesting features: it
|
||||
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 <../GarbageCollection.html>`_ including algorithms that
|
||||
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
|
||||
cost exceptions <../ExceptionHandling.html>`_ which interoperate with
|
||||
code compiled in other languages. You could also generate code by
|
||||
|
Loading…
Reference in New Issue
Block a user