Navigation

  • index
  • next |
  • previous |
  • libgccjit 13.0.1 (experimental ) documentation »
  • Tutorial

Tutorial¶

  • Tutorial part 1: “Hello world”
  • Tutorial part 2: Creating a trivial machine code function
    • Error-handling
    • Options
    • Full example
  • Tutorial part 3: Loops and variables
    • Expressions: lvalues and rvalues
    • Control flow
    • Visualizing the control flow graph
    • Full example
  • Tutorial part 4: Adding JIT-compilation to a toy interpreter
    • Our toy interpreter
    • Compiling to machine code
    • Setting things up
    • Populating the function
    • Verifying the control flow graph
    • Compiling the context
    • Single-stepping through the generated code
    • Examining the generated code
    • Putting it all together
    • Behind the curtain: How does our code get optimized?
  • Tutorial part 5: Implementing an Ahead-of-Time compiler
    • The “brainf” language
    • Converting a brainf script to libgccjit IR
    • Compiling a context to a file
    • Other forms of ahead-of-time-compilation

Previous topic

libgccjit

Next topic

Tutorial part 1: “Hello world”

This Page

  • Show Source

Quick search

Navigation

  • index
  • next |
  • previous |
  • libgccjit 13.0.1 (experimental ) documentation »
  • Tutorial
© Copyright 2014-2023 Free Software Foundation, Inc.. Created using Sphinx 5.3.0.