- // MIR for `multiple_storage` before ReferencePropagation
+ // MIR for `multiple_storage` after ReferencePropagation
  
  fn multiple_storage() -> () {
      let mut _0: ();
      let mut _1: i32;
      let mut _2: &i32;
      let mut _3: i32;
  
      bb0: {
          StorageLive(_1);
          _1 = const 5_i32;
          _2 = &_1;
          StorageDead(_1);
          StorageLive(_1);
          _3 = copy (*_2);
          _0 = opaque::<i32>(copy _3) -> [return: bb1, unwind continue];
      }
  
      bb1: {
          return;
      }
  }
  
