diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 70c34f2a6..edf97c6db 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -129,9 +129,8 @@ # MIR to Binaries - [Prologue](./part-5-intro.md) -- [The MIR (Mid-level IR)](./mir/index.md) - - [MIR optimizations](./mir/optimizations.md) - - [Debugging](./mir/debugging.md) +- [MIR optimizations](./mir/optimizations.md) +- [Debugging](./mir/debugging.md) - [Constant evaluation](./const-eval.md) - [miri const evaluator](./miri.md) - [Monomorphization](./backend/monomorph.md) diff --git a/src/part-5-intro.md b/src/part-5-intro.md index 184d0ee3a..82663b562 100644 --- a/src/part-5-intro.md +++ b/src/part-5-intro.md @@ -5,14 +5,16 @@ generated any executable machine code at all! With this chapter, all of that changes. So far, we've shown how the compiler can take raw source code in text format -and transform it into MIR. We have also shown how the compiler does various +and transform it into [MIR]. We have also shown how the compiler does various analyses on the code to detect things like type or lifetime errors. Now, we will finally take the MIR and produce some executable machine code. +[MIR]: ./mir/index.html + > NOTE: This part of a compiler is often called the _backend_ the term is a bit > overloaded because in the compiler source, it usually refers to the "codegen > backend" (i.e. LLVM or Cranelift). Usually, when you see the word "backend" -> in this part, we are refering to the "codegen backend". +> in this part, we are referring to the "codegen backend". So what do we need to do?