- // MIR for `reference_propagation_const_ptr` before ReferencePropagation
+ // MIR for `reference_propagation_const_ptr` after ReferencePropagation
  
  fn reference_propagation_const_ptr(_1: *const T, _2: *const T) -> () {
      debug single => _1;
      debug multiple => _2;
      let mut _0: ();
      let _3: ();
      let _4: usize;
      let _7: ();
      let mut _8: ();
      let _9: ();
      let _10: usize;
      let mut _13: *const usize;
      let _15: ();
      let mut _16: ();
      let _17: ();
      let _18: usize;
      let _22: ();
      let mut _23: &*const usize;
      let _24: ();
      let _25: usize;
      let _29: ();
      let mut _30: *mut *const usize;
      let _31: ();
      let _32: usize;
      let _35: ();
      let mut _36: *const usize;
      let _37: ();
      let _38: usize;
      let _44: ();
      let mut _45: *const usize;
      let _46: ();
      let _47: *const T;
      let _49: ();
      let mut _50: ();
      let _51: ();
      let _52: *const T;
      let mut _53: *const T;
      let _55: ();
      let mut _56: ();
      let _57: ();
      let _58: usize;
      let _62: ();
      let mut _63: ();
      let _64: ();
      let _65: usize;
      let _69: ();
      let mut _70: ();
      let _71: usize;
      let _75: ();
      let mut _76: ();
      scope 1 {
          debug a => _4;
          let _5: *const usize;
          scope 2 {
              debug b => _5;
              let _6: usize;
              scope 3 {
                  debug c => _6;
              }
          }
      }
      scope 4 {
          debug a => _10;
          let _11: usize;
          scope 5 {
              debug a2 => _11;
              let mut _12: *const usize;
              scope 6 {
                  debug b => _12;
                  let _14: usize;
                  scope 7 {
                      debug c => _14;
                  }
              }
          }
      }
      scope 8 {
          debug a => _18;
          let _19: *const usize;
          scope 9 {
              debug b => _19;
              let _20: &*const usize;
              scope 10 {
                  debug d => _20;
                  let _21: usize;
                  scope 11 {
                      debug c => _21;
                  }
              }
          }
      }
      scope 12 {
          debug a => _25;
          let mut _26: *const usize;
          scope 13 {
              debug b => _26;
              let _27: *mut *const usize;
              scope 14 {
                  debug d => _27;
                  let _28: usize;
                  scope 15 {
                      debug c => _28;
                  }
              }
          }
      }
      scope 16 {
          debug a => _32;
          let _33: *const usize;
          scope 17 {
              debug b => _33;
              let _34: usize;
              scope 18 {
                  debug c => _34;
              }
          }
      }
      scope 19 {
          debug a => _38;
          let _39: *const usize;
          scope 20 {
              debug b1 => _39;
              let _40: usize;
              scope 21 {
                  debug c => _40;
                  let _41: *const usize;
                  scope 22 {
                      debug b2 => _41;
                      let _42: usize;
                      scope 23 {
                          debug c2 => _42;
                          let _43: *const usize;
                          scope 24 {
                              debug b3 => _43;
                          }
                      }
                  }
              }
          }
      }
      scope 25 {
-         debug a => _47;
+         debug a => _1;
          let _48: T;
          scope 26 {
              debug b => _48;
          }
      }
      scope 27 {
          debug a => _52;
          let _54: T;
          scope 28 {
              debug b => _54;
          }
      }
      scope 29 {
          debug a => _58;
          let _59: *const usize;
          scope 30 {
              debug b => _59;
              let _60: *const usize;
              scope 31 {
                  debug c => _60;
                  let _61: usize;
                  scope 32 {
                      debug e => _61;
                  }
              }
          }
      }
      scope 33 {
          debug a => _65;
          let _66: *const usize;
          scope 34 {
              debug b => _66;
              let _67: &*const usize;
              scope 35 {
                  debug d => _67;
                  let _68: usize;
                  scope 36 {
                      debug c => _68;
                  }
              }
          }
      }
      scope 37 {
          debug a => _71;
          let mut _72: *const usize;
          scope 38 {
              debug b => _72;
              let _73: &mut *const usize;
              scope 39 {
                  debug d => _73;
                  let _74: usize;
                  scope 40 {
                      debug c => _74;
                  }
              }
          }
      }
  
      bb0: {
-         StorageLive(_3);
          StorageLive(_4);
          _4 = const 5_usize;
          StorageLive(_5);
          _5 = &raw const _4;
          StorageLive(_6);
-         _6 = copy (*_5);
+         _6 = copy _4;
          StorageLive(_7);
          StorageLive(_8);
          _8 = ();
          _7 = opaque::<()>(move _8) -> [return: bb1, unwind continue];
      }
  
      bb1: {
          StorageDead(_8);
          StorageDead(_7);
-         _3 = const ();
          StorageDead(_6);
          StorageDead(_5);
          StorageDead(_4);
-         StorageDead(_3);
-         StorageLive(_9);
          StorageLive(_10);
          _10 = const 5_usize;
          StorageLive(_11);
          _11 = const 7_usize;
          StorageLive(_12);
          _12 = &raw const _10;
          StorageLive(_13);
          _13 = &raw const _11;
          _12 = move _13;
          StorageDead(_13);
          StorageLive(_14);
          _14 = copy (*_12);
          StorageLive(_15);
          StorageLive(_16);
          _16 = ();
          _15 = opaque::<()>(move _16) -> [return: bb2, unwind continue];
      }
  
      bb2: {
          StorageDead(_16);
          StorageDead(_15);
-         _9 = const ();
          StorageDead(_14);
          StorageDead(_12);
          StorageDead(_11);
          StorageDead(_10);
-         StorageDead(_9);
-         StorageLive(_17);
          StorageLive(_18);
          _18 = const 5_usize;
          StorageLive(_19);
          _19 = &raw const _18;
          StorageLive(_20);
          _20 = &_19;
          StorageLive(_21);
-         _21 = copy (*_19);
+         _21 = copy _18;
          StorageLive(_22);
          StorageLive(_23);
          _23 = copy _20;
          _22 = opaque::<&*const usize>(move _23) -> [return: bb3, unwind continue];
      }
  
      bb3: {
          StorageDead(_23);
          StorageDead(_22);
-         _17 = const ();
          StorageDead(_21);
          StorageDead(_20);
          StorageDead(_19);
          StorageDead(_18);
-         StorageDead(_17);
-         StorageLive(_24);
          StorageLive(_25);
          _25 = const 5_usize;
          StorageLive(_26);
          _26 = &raw const _25;
          StorageLive(_27);
          _27 = &raw mut _26;
          StorageLive(_28);
          _28 = copy (*_26);
          StorageLive(_29);
          StorageLive(_30);
          _30 = copy _27;
          _29 = opaque::<*mut *const usize>(move _30) -> [return: bb4, unwind continue];
      }
  
      bb4: {
          StorageDead(_30);
          StorageDead(_29);
-         _24 = const ();
          StorageDead(_28);
          StorageDead(_27);
          StorageDead(_26);
          StorageDead(_25);
-         StorageDead(_24);
-         StorageLive(_31);
          StorageLive(_32);
          _32 = const 7_usize;
          StorageLive(_33);
          _33 = &raw const _32;
          StorageLive(_34);
-         _34 = copy (*_33);
+         _34 = copy _32;
          StorageLive(_35);
          StorageLive(_36);
          _36 = copy _33;
          _35 = opaque::<*const usize>(move _36) -> [return: bb5, unwind continue];
      }
  
      bb5: {
          StorageDead(_36);
          StorageDead(_35);
-         _31 = const ();
          StorageDead(_34);
          StorageDead(_33);
          StorageDead(_32);
-         StorageDead(_31);
-         StorageLive(_37);
          StorageLive(_38);
          _38 = const 7_usize;
          StorageLive(_39);
          _39 = &raw const _38;
          StorageLive(_40);
-         _40 = copy (*_39);
+         _40 = copy _38;
          StorageLive(_41);
          _41 = copy _39;
          StorageLive(_42);
-         _42 = copy (*_41);
+         _42 = copy _38;
          StorageLive(_43);
          _43 = copy _41;
          StorageLive(_44);
          StorageLive(_45);
          _45 = copy _43;
          _44 = opaque::<*const usize>(move _45) -> [return: bb6, unwind continue];
      }
  
      bb6: {
          StorageDead(_45);
          StorageDead(_44);
-         _37 = const ();
          StorageDead(_43);
          StorageDead(_42);
          StorageDead(_41);
          StorageDead(_40);
          StorageDead(_39);
          StorageDead(_38);
-         StorageDead(_37);
-         StorageLive(_46);
-         StorageLive(_47);
-         _47 = &raw const (*_1);
          StorageLive(_48);
-         _48 = copy (*_47);
+         _48 = copy (*_1);
          StorageLive(_49);
          StorageLive(_50);
          _50 = ();
          _49 = opaque::<()>(move _50) -> [return: bb7, unwind continue];
      }
  
      bb7: {
          StorageDead(_50);
          StorageDead(_49);
-         _46 = const ();
          StorageDead(_48);
-         StorageDead(_47);
-         StorageDead(_46);
-         StorageLive(_51);
          StorageLive(_52);
          _52 = &raw const (*_2);
          StorageLive(_53);
          _53 = &raw const (*_1);
          _2 = move _53;
          StorageDead(_53);
          StorageLive(_54);
          _54 = copy (*_52);
          StorageLive(_55);
          StorageLive(_56);
          _56 = ();
          _55 = opaque::<()>(move _56) -> [return: bb8, unwind continue];
      }
  
      bb8: {
          StorageDead(_56);
          StorageDead(_55);
-         _51 = const ();
          StorageDead(_54);
          StorageDead(_52);
-         StorageDead(_51);
-         StorageLive(_57);
          StorageLive(_58);
          _58 = const 13_usize;
          StorageLive(_59);
          _59 = &raw const _58;
          StorageLive(_60);
-         _60 = &raw const (*_59);
+         _60 = &raw const _58;
          StorageLive(_61);
-         _61 = copy (*_60);
+         _61 = copy _58;
          StorageLive(_62);
          StorageLive(_63);
          _63 = ();
          _62 = opaque::<()>(move _63) -> [return: bb9, unwind continue];
      }
  
      bb9: {
          StorageDead(_63);
          StorageDead(_62);
-         _57 = const ();
          StorageDead(_61);
          StorageDead(_60);
          StorageDead(_59);
          StorageDead(_58);
-         StorageDead(_57);
-         StorageLive(_64);
          StorageLive(_65);
          _65 = const 5_usize;
          StorageLive(_66);
          _66 = &raw const _65;
          StorageLive(_67);
          _67 = &_66;
          StorageLive(_68);
-         _68 = copy (*_66);
+         _68 = copy _65;
          StorageLive(_69);
          StorageLive(_70);
          _70 = ();
          _69 = opaque::<()>(move _70) -> [return: bb10, unwind continue];
      }
  
      bb10: {
          StorageDead(_70);
          StorageDead(_69);
-         _64 = const ();
          StorageDead(_68);
          StorageDead(_67);
          StorageDead(_66);
          StorageDead(_65);
-         StorageDead(_64);
          StorageLive(_71);
          _71 = const 5_usize;
          StorageLive(_72);
          _72 = &raw const _71;
          StorageLive(_73);
          _73 = &mut _72;
          StorageLive(_74);
          _74 = copy (*_72);
          StorageLive(_75);
          StorageLive(_76);
          _76 = ();
          _75 = opaque::<()>(move _76) -> [return: bb11, unwind continue];
      }
  
      bb11: {
          StorageDead(_76);
          StorageDead(_75);
          _0 = const ();
          StorageDead(_74);
          StorageDead(_73);
          StorageDead(_72);
          StorageDead(_71);
          return;
      }
  }
  
