@@ -85,14 +85,14 @@ we'll talk about that later.
85
85
[ lex ] : https://rustc-dev-guide.rust-lang.org/the-parser.html
86
86
[ `StringReader` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/lexer/struct.StringReader.html
87
87
[ `librustc_parse` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html
88
- [ parser ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parser /index.html
88
+ [ parser ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse /index.html
89
89
[ hir ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/index.html
90
90
[ type inference ] : https://rustc-dev-guide.rust-lang.org/type-inference.html
91
91
[ mir ] : https://rustc-dev-guide.rust-lang.org/mir/index.html
92
92
[ borrow checking ] : https://rustc-dev-guide.rust-lang.org/borrow_check.html
93
93
[ mir-opt ] : https://rustc-dev-guide.rust-lang.org/mir/optimizations.html
94
94
[ `simplify_try` ] : https://github.com/rust-lang/rust/pull/66282
95
- [ codegen ] : https://rustc-dev-guide.rust-lang.org/codegen.html
95
+ [ codegen ] : https://rustc-dev-guide.rust-lang.org/backend/ codegen.html
96
96
97
97
## How it does it
98
98
@@ -252,7 +252,7 @@ cache is stored there too. In the code, there is usually a variable called
252
252
the name ` 'tcx ` , which means that something is tied to the lifetime of the
253
253
` TyCtxt ` (usually it is stored or interned there).
254
254
255
- [ `TyCtxt` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc /ty/struct.TyCtxt.html
255
+ [ `TyCtxt` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle /ty/struct.TyCtxt.html
256
256
257
257
### ` ty::Ty `
258
258
@@ -264,7 +264,7 @@ on [`ty::Ty`][ty], but for now, we just want to mention that it exists and is th
264
264
265
265
Oh, and also the ` rustc::ty ` module defines the ` TyCtxt ` struct we mentioned before.
266
266
267
- [ ty ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc /ty/type.Ty.html
267
+ [ ty ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle /ty/type.Ty.html
268
268
269
269
### Parallelism
270
270
@@ -360,8 +360,8 @@ bootstrapping compiler will support them.
360
360
- These two functions can't be decoupled.
361
361
- The Mid Level Intermediate Representation (MIR)
362
362
- Guide: [ The MIR (Mid level IR)] ( https://rustc-dev-guide.rust-lang.org/mir/index.html )
363
- - Definition: [ ` librustc /mir` ] ( https://github.com/ rust-lang/rust/tree/master/src/librustc/ mir )
364
- - Definition of source that manipulates the MIR: [ ` librustc_mir ` ] ( https://github.com/ rust-lang/rust/tree/master/src/librustc_mir )
363
+ - Definition: [ ` librustc_middle /mir` ] ( https://doc. rust-lang.org/nightly/nightly-rustc/rustc_middle/ mir/index.html )
364
+ - Definition of source that manipulates the MIR: [ ` librustc_mir ` ] ( https://doc. rust-lang.org/nightly/nightly-rustc/rustc_mir/index.html )
365
365
- The Borrow Checker
366
366
- Guide: [ MIR Borrow Check] ( https://rustc-dev-guide.rust-lang.org/borrow_check.html )
367
367
- Definition: [ ` rustc_mir/borrow_check ` ] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/index.html )
@@ -371,7 +371,7 @@ bootstrapping compiler will support them.
371
371
- Definition: [ ` rustc_mir/transform ` ] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/transform/index.html )
372
372
- Main entry point: [ ` optimized_mir ` query] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/transform/fn.optimized_mir.html )
373
373
- Code Generation
374
- - Guide: [ Code Generation] ( https://rustc-dev-guide.rust-lang.org/codegen.html )
374
+ - Guide: [ Code Generation] ( https://rustc-dev-guide.rust-lang.org/backend/ codegen.html )
375
375
- Generating Machine Code from LLVM IR with LLVM - ** TODO: reference?**
376
376
- Main entry point: [ ` rustc_codegen_ssa::base::codegen_crate ` ] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/base/fn.codegen_crate.html )
377
377
- This monomorphizes and produces LLVM IR for one codegen unit. It then starts a background thread to run LLVM, which must be joined later.
0 commit comments