mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-15 00:38:42 +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
|
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
|
||||||
|
@ -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>`_
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user