diff --git a/src/librustc_mir/repr.rs b/src/librustc_mir/repr.rs index 8007f7496b4..19b9e87701c 100644 --- a/src/librustc_mir/repr.rs +++ b/src/librustc_mir/repr.rs @@ -23,15 +23,24 @@ use std::u32; /// Lowered representation of a single function. pub struct Mir<'tcx> { + /// List of basic blocks. References to basic block use a newtyped index type `BasicBlock` + /// that indexes into this vector. pub basic_blocks: Vec>, + /// Return type of the function. pub return_ty: FnOutput<'tcx>, - // for every node id - pub extents: FnvHashMap>, - + /// Variables: these are stack slots corresponding to user variables. They may be + /// assigned many times. pub var_decls: Vec>, + + /// Args: these are stack slots corresponding to the input arguments. pub arg_decls: Vec>, + + /// Temp declarations: stack slots that for temporaries created by + /// the compiler. These are assigned once, but they are not SSA + /// values in that it is possible to borrow them and mutate them + /// through the resulting reference. pub temp_decls: Vec>, }