@@ -23,20 +23,19 @@ use crate::ty::{self, GenericArgsRef, List, Region, Ty, UserTypeAnnotationIndex}
23
23
24
24
/// Represents the "flavors" of MIR.
25
25
///
26
- /// All flavors of MIR use the same data structure, but there are some important differences. Each
27
- /// flavor has (a) a dialect and, (b) a phase within that dialect . A single
28
- /// `MirPhase` value specifies both a dialect and a phase .
26
+ /// The MIR pipeline is structured into a few major dialects, with one or more phases within each
27
+ /// dialect. A MIR flavor is identified by a dialect- phase pair . A single `MirPhase` value
28
+ /// specifies such a pair. All flavors of MIR use the same data structure .
29
29
///
30
30
/// Different MIR dialects have different semantics. (The differences between dialects are small,
31
31
/// but they do exist.) The progression from one MIR dialect to the next is technically a lowering
32
32
/// from one IR to another. In other words, a single well-formed [`Body`](crate::mir::Body) might
33
33
/// have different semantic meaning and different behavior at runtime in the different dialects.
34
34
/// The specific differences between dialects are described on the variants below.
35
35
///
36
- /// Within a dialect there are one or more phases. Phases exist only to place restrictions on what
37
- /// language constructs are permitted in well-formed MIR, and subsequent phases mostly increase
38
- /// those restrictions. I.e. to convert MIR from one phase to the next might require
39
- /// removing/replacing certain MIR constructs.
36
+ /// Phases exist only to place restrictions on what language constructs are permitted in
37
+ /// well-formed MIR, and subsequent phases mostly increase those restrictions. I.e. to convert MIR
38
+ /// from one phase to the next might require removing/replacing certain MIR constructs.
40
39
///
41
40
/// When adding dialects or phases, remember to update [`MirPhase::index`].
42
41
#[ derive( Copy , Clone , TyEncodable , TyDecodable , Debug , PartialEq , Eq , PartialOrd , Ord ) ]
0 commit comments