From 29a3fe32eb71bc2e0946d5e7c61c21157f554b5e Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Thu, 12 Nov 2015 14:29:23 -0500 Subject: [PATCH] Add some comments to Mir struct. --- src/librustc_mir/repr.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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>, }