Minor mir chapter fixes
This commit is contained in:
parent
9b51b785cb
commit
09f6d83008
|
|
@ -45,7 +45,7 @@ LTO | Link-Time Optimizations. A set of optimizations offer
|
||||||
memoize | memoization is the process of storing the results of (pure) computations (such as pure function calls) to avoid having to repeat them in the future. This is typically a trade-off between execution speed and memory usage.
|
memoize | memoization is the process of storing the results of (pure) computations (such as pure function calls) to avoid having to repeat them in the future. This is typically a trade-off between execution speed and memory usage.
|
||||||
MIR | the Mid-level IR that is created after type-checking for use by borrowck and codegen ([see more](../mir/index.html))
|
MIR | the Mid-level IR that is created after type-checking for use by borrowck and codegen ([see more](../mir/index.html))
|
||||||
miri | an interpreter for MIR used for constant evaluation ([see more](../miri.html))
|
miri | an interpreter for MIR used for constant evaluation ([see more](../miri.html))
|
||||||
monomorphize | Monomorphization is the process of taking generic implementations of types and functions and producing instantiating them with concrete types. For example, in the code we might have `Vec<T>`, but in the final executable, we will have a copy of the `Vec` code for every concrete type used in the program (e.g. a copy for `Vec<usize>`, a copy for `Vec<MyStruct>`, etc).
|
monomorphize | Monomorphization is the process of taking generic implementations of types and functions and instantiating them with concrete types. For example, in the code we might have `Vec<T>`, but in the final executable, we will have a copy of the `Vec` code for every concrete type used in the program (e.g. a copy for `Vec<usize>`, a copy for `Vec<MyStruct>`, etc).
|
||||||
normalize | a general term for converting to a more canonical form, but in the case of rustc typically refers to [associated type normalization](../traits/associated-types.html#normalize)
|
normalize | a general term for converting to a more canonical form, but in the case of rustc typically refers to [associated type normalization](../traits/associated-types.html#normalize)
|
||||||
newtype | a "newtype" is a wrapper around some other type (e.g., `struct Foo(T)` is a "newtype" for `T`). This is commonly used in Rust to give a stronger type for indices.
|
newtype | a "newtype" is a wrapper around some other type (e.g., `struct Foo(T)` is a "newtype" for `T`). This is commonly used in Rust to give a stronger type for indices.
|
||||||
NLL | [non-lexical lifetimes](../borrow_check/region_inference.html), an extension to Rust's borrowing system to make it be based on the control-flow graph.
|
NLL | [non-lexical lifetimes](../borrow_check/region_inference.html), an extension to Rust's borrowing system to make it be based on the control-flow graph.
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ implemented in its own submodule of the [`rustc_mir::transform`][trans] module.
|
||||||
[trans]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/transform/index.html
|
[trans]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/transform/index.html
|
||||||
|
|
||||||
Some examples of passes are:
|
Some examples of passes are:
|
||||||
- `CleanupNonCodegenStatements`: remove some of the info that is only need for
|
- `CleanupNonCodegenStatements`: remove some of the info that is only needed for
|
||||||
analyses, rather than codegen.
|
analyses, rather than codegen.
|
||||||
- `ConstProp`: Does [constant propagation][constprop]
|
- `ConstProp`: Does [constant propagation][constprop]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue