summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
commit9835e2ae736235810b4ea1c162ca5e65c547e770 (patch)
tree3fcebf40ed70e581d776a8a4c65923e8ec20e026 /tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff
parentReleasing progress-linux version 1.70.0+dfsg2-1~progress7.99u1. (diff)
downloadrustc-9835e2ae736235810b4ea1c162ca5e65c547e770.tar.xz
rustc-9835e2ae736235810b4ea1c162ca5e65c547e770.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff')
-rw-r--r--tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff475
1 files changed, 475 insertions, 0 deletions
diff --git a/tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff b/tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff
new file mode 100644
index 000000000..7b31ee695
--- /dev/null
+++ b/tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff
@@ -0,0 +1,475 @@
+- // MIR for `reference_propagation` before ReferencePropagation
++ // MIR for `reference_propagation` after ReferencePropagation
+
+ fn reference_propagation(_1: &T, _2: &T) -> () {
+ debug single => _1; // in scope 0 at $DIR/reference_prop.rs:+0:39: +0:45
+ debug multiple => _2; // in scope 0 at $DIR/reference_prop.rs:+0:54: +0:66
+ let mut _0: (); // return place in scope 0 at $DIR/reference_prop.rs:+0:75: +0:75
+ let _3: (); // in scope 0 at $DIR/reference_prop.rs:+2:5: +7:6
+ let _4: usize; // in scope 0 at $DIR/reference_prop.rs:+3:13: +3:14
+ let _7: (); // in scope 0 at $DIR/reference_prop.rs:+6:9: +6:19
+ let mut _8: (); // in scope 0 at $DIR/reference_prop.rs:+6:16: +6:18
+ let _9: (); // in scope 0 at $DIR/reference_prop.rs:+10:5: +18:6
+ let _10: usize; // in scope 0 at $DIR/reference_prop.rs:+11:13: +11:14
+ let mut _13: &usize; // in scope 0 at $DIR/reference_prop.rs:+14:13: +14:16
+ let _14: &usize; // in scope 0 at $DIR/reference_prop.rs:+14:13: +14:16
+ let _16: (); // in scope 0 at $DIR/reference_prop.rs:+17:9: +17:19
+ let mut _17: (); // in scope 0 at $DIR/reference_prop.rs:+17:16: +17:18
+ let _18: (); // in scope 0 at $DIR/reference_prop.rs:+21:5: +27:6
+ let _19: usize; // in scope 0 at $DIR/reference_prop.rs:+22:13: +22:14
+ let _23: (); // in scope 0 at $DIR/reference_prop.rs:+26:9: +26:18
+ let mut _24: &&usize; // in scope 0 at $DIR/reference_prop.rs:+26:16: +26:17
+ let _25: (); // in scope 0 at $DIR/reference_prop.rs:+30:5: +36:6
+ let _26: usize; // in scope 0 at $DIR/reference_prop.rs:+31:13: +31:14
+ let _30: (); // in scope 0 at $DIR/reference_prop.rs:+35:9: +35:18
+ let mut _31: *mut &usize; // in scope 0 at $DIR/reference_prop.rs:+35:16: +35:17
+ let _32: (); // in scope 0 at $DIR/reference_prop.rs:+39:5: +44:6
+ let _33: usize; // in scope 0 at $DIR/reference_prop.rs:+40:13: +40:14
+ let _36: (); // in scope 0 at $DIR/reference_prop.rs:+43:9: +43:18
+ let mut _37: &usize; // in scope 0 at $DIR/reference_prop.rs:+43:16: +43:17
+ let _38: (); // in scope 0 at $DIR/reference_prop.rs:+47:5: +57:6
+ let _39: usize; // in scope 0 at $DIR/reference_prop.rs:+48:13: +48:14
+ let _45: (); // in scope 0 at $DIR/reference_prop.rs:+56:9: +56:19
+ let mut _46: &usize; // in scope 0 at $DIR/reference_prop.rs:+56:16: +56:18
+ let _47: (); // in scope 0 at $DIR/reference_prop.rs:+60:5: +64:6
+ let _48: &T; // in scope 0 at $DIR/reference_prop.rs:+61:13: +61:14
+ let _50: (); // in scope 0 at $DIR/reference_prop.rs:+63:9: +63:19
+ let mut _51: (); // in scope 0 at $DIR/reference_prop.rs:+63:16: +63:18
+ let _52: (); // in scope 0 at $DIR/reference_prop.rs:+67:5: +72:6
+ let _53: &T; // in scope 0 at $DIR/reference_prop.rs:+68:13: +68:14
+ let mut _54: &T; // in scope 0 at $DIR/reference_prop.rs:+69:20: +69:28
+ let _55: &T; // in scope 0 at $DIR/reference_prop.rs:+69:20: +69:28
+ let _57: (); // in scope 0 at $DIR/reference_prop.rs:+71:9: +71:19
+ let mut _58: (); // in scope 0 at $DIR/reference_prop.rs:+71:16: +71:18
+ let _59: (); // in scope 0 at $DIR/reference_prop.rs:+75:5: +81:6
+ let _60: usize; // in scope 0 at $DIR/reference_prop.rs:+76:13: +76:14
+ let _64: (); // in scope 0 at $DIR/reference_prop.rs:+80:9: +80:19
+ let mut _65: (); // in scope 0 at $DIR/reference_prop.rs:+80:16: +80:18
+ let _66: usize; // in scope 0 at $DIR/reference_prop.rs:+85:13: +85:14
+ let _70: (); // in scope 0 at $DIR/reference_prop.rs:+89:9: +89:19
+ let mut _71: (); // in scope 0 at $DIR/reference_prop.rs:+89:16: +89:18
+ scope 1 {
+ debug a => _4; // in scope 1 at $DIR/reference_prop.rs:+3:13: +3:14
+ let _5: &usize; // in scope 1 at $DIR/reference_prop.rs:+4:13: +4:14
+ scope 2 {
+- debug b => _5; // in scope 2 at $DIR/reference_prop.rs:+4:13: +4:14
++ debug b => &_4; // in scope 2 at $DIR/reference_prop.rs:+4:13: +4:14
+ let _6: usize; // in scope 2 at $DIR/reference_prop.rs:+5:13: +5:14
+ scope 3 {
+ debug c => _6; // in scope 3 at $DIR/reference_prop.rs:+5:13: +5:14
+ }
+ }
+ }
+ scope 4 {
+ debug a => _10; // in scope 4 at $DIR/reference_prop.rs:+11:13: +11:14
+ let _11: usize; // in scope 4 at $DIR/reference_prop.rs:+12:13: +12:15
+ scope 5 {
+ debug a2 => _11; // in scope 5 at $DIR/reference_prop.rs:+12:13: +12:15
+ let mut _12: &usize; // in scope 5 at $DIR/reference_prop.rs:+13:13: +13:18
+ scope 6 {
+ debug b => _12; // in scope 6 at $DIR/reference_prop.rs:+13:13: +13:18
+ let _15: usize; // in scope 6 at $DIR/reference_prop.rs:+16:13: +16:14
+ scope 7 {
+ debug c => _15; // in scope 7 at $DIR/reference_prop.rs:+16:13: +16:14
+ }
+ }
+ }
+ }
+ scope 8 {
+ debug a => _19; // in scope 8 at $DIR/reference_prop.rs:+22:13: +22:14
+ let _20: &usize; // in scope 8 at $DIR/reference_prop.rs:+23:13: +23:14
+ scope 9 {
+ debug b => _20; // in scope 9 at $DIR/reference_prop.rs:+23:13: +23:14
+ let _21: &&usize; // in scope 9 at $DIR/reference_prop.rs:+24:13: +24:14
+ scope 10 {
+ debug d => _21; // in scope 10 at $DIR/reference_prop.rs:+24:13: +24:14
+ let _22: usize; // in scope 10 at $DIR/reference_prop.rs:+25:13: +25:14
+ scope 11 {
+ debug c => _22; // in scope 11 at $DIR/reference_prop.rs:+25:13: +25:14
+ }
+ }
+ }
+ }
+ scope 12 {
+ debug a => _26; // in scope 12 at $DIR/reference_prop.rs:+31:13: +31:14
+ let mut _27: &usize; // in scope 12 at $DIR/reference_prop.rs:+32:13: +32:18
+ scope 13 {
+ debug b => _27; // in scope 13 at $DIR/reference_prop.rs:+32:13: +32:18
+ let _28: *mut &usize; // in scope 13 at $DIR/reference_prop.rs:+33:13: +33:14
+ scope 14 {
+ debug d => _28; // in scope 14 at $DIR/reference_prop.rs:+33:13: +33:14
+ let _29: usize; // in scope 14 at $DIR/reference_prop.rs:+34:13: +34:14
+ scope 15 {
+ debug c => _29; // in scope 15 at $DIR/reference_prop.rs:+34:13: +34:14
+ }
+ }
+ }
+ }
+ scope 16 {
+ debug a => _33; // in scope 16 at $DIR/reference_prop.rs:+40:13: +40:14
+ let _34: &usize; // in scope 16 at $DIR/reference_prop.rs:+41:13: +41:14
+ scope 17 {
+ debug b => _34; // in scope 17 at $DIR/reference_prop.rs:+41:13: +41:14
+ let _35: usize; // in scope 17 at $DIR/reference_prop.rs:+42:13: +42:14
+ scope 18 {
+ debug c => _35; // in scope 18 at $DIR/reference_prop.rs:+42:13: +42:14
+ }
+ }
+ }
+ scope 19 {
+ debug a => _39; // in scope 19 at $DIR/reference_prop.rs:+48:13: +48:14
+ let _40: &usize; // in scope 19 at $DIR/reference_prop.rs:+49:13: +49:15
+ scope 20 {
+ debug b1 => _40; // in scope 20 at $DIR/reference_prop.rs:+49:13: +49:15
+ let _41: usize; // in scope 20 at $DIR/reference_prop.rs:+50:13: +50:14
+ scope 21 {
+ debug c => _41; // in scope 21 at $DIR/reference_prop.rs:+50:13: +50:14
+ let _42: &usize; // in scope 21 at $DIR/reference_prop.rs:+51:13: +51:15
+ scope 22 {
+ debug b2 => _42; // in scope 22 at $DIR/reference_prop.rs:+51:13: +51:15
+ let _43: usize; // in scope 22 at $DIR/reference_prop.rs:+52:13: +52:15
+ scope 23 {
+ debug c2 => _43; // in scope 23 at $DIR/reference_prop.rs:+52:13: +52:15
+ let _44: &usize; // in scope 23 at $DIR/reference_prop.rs:+53:13: +53:15
+ scope 24 {
+ debug b3 => _44; // in scope 24 at $DIR/reference_prop.rs:+53:13: +53:15
+ }
+ }
+ }
+ }
+ }
+ }
+ scope 25 {
+- debug a => _48; // in scope 25 at $DIR/reference_prop.rs:+61:13: +61:14
++ debug a => _1; // in scope 25 at $DIR/reference_prop.rs:+61:13: +61:14
+ let _49: T; // in scope 25 at $DIR/reference_prop.rs:+62:13: +62:14
+ scope 26 {
+ debug b => _49; // in scope 26 at $DIR/reference_prop.rs:+62:13: +62:14
+ }
+ }
+ scope 27 {
+ debug a => _53; // in scope 27 at $DIR/reference_prop.rs:+68:13: +68:14
+ let _56: T; // in scope 27 at $DIR/reference_prop.rs:+70:13: +70:14
+ scope 28 {
+ debug b => _56; // in scope 28 at $DIR/reference_prop.rs:+70:13: +70:14
+ }
+ }
+ scope 29 {
+ debug a => _60; // in scope 29 at $DIR/reference_prop.rs:+76:13: +76:14
+ let _61: &usize; // in scope 29 at $DIR/reference_prop.rs:+77:13: +77:14
+ scope 30 {
+- debug b => _61; // in scope 30 at $DIR/reference_prop.rs:+77:13: +77:14
++ debug b => &_60; // in scope 30 at $DIR/reference_prop.rs:+77:13: +77:14
+ let _62: &&usize; // in scope 30 at $DIR/reference_prop.rs:+78:13: +78:14
+ scope 31 {
+- debug d => _62; // in scope 31 at $DIR/reference_prop.rs:+78:13: +78:14
++ debug d => &&_60; // in scope 31 at $DIR/reference_prop.rs:+78:13: +78:14
+ let _63: usize; // in scope 31 at $DIR/reference_prop.rs:+79:13: +79:14
+ scope 32 {
+ debug c => _63; // in scope 32 at $DIR/reference_prop.rs:+79:13: +79:14
+ }
+ }
+ }
+ }
+ scope 33 {
+ debug a => _66; // in scope 33 at $DIR/reference_prop.rs:+85:13: +85:14
+ let mut _67: &usize; // in scope 33 at $DIR/reference_prop.rs:+86:13: +86:18
+ scope 34 {
+- debug b => _67; // in scope 34 at $DIR/reference_prop.rs:+86:13: +86:18
++ debug b => &_66; // in scope 34 at $DIR/reference_prop.rs:+86:13: +86:18
+ let _68: &mut &usize; // in scope 34 at $DIR/reference_prop.rs:+87:13: +87:14
+ scope 35 {
+- debug d => _68; // in scope 35 at $DIR/reference_prop.rs:+87:13: +87:14
++ debug d => &&_66; // in scope 35 at $DIR/reference_prop.rs:+87:13: +87:14
+ let _69: usize; // in scope 35 at $DIR/reference_prop.rs:+88:13: +88:14
+ scope 36 {
+ debug c => _69; // in scope 36 at $DIR/reference_prop.rs:+88:13: +88:14
+ }
+ }
+ }
+ }
+
+ bb0: {
+- StorageLive(_3); // scope 0 at $DIR/reference_prop.rs:+2:5: +7:6
+ StorageLive(_4); // scope 0 at $DIR/reference_prop.rs:+3:13: +3:14
+ _4 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+3:17: +3:24
+- StorageLive(_5); // scope 1 at $DIR/reference_prop.rs:+4:13: +4:14
+- _5 = &_4; // scope 1 at $DIR/reference_prop.rs:+4:17: +4:19
+ StorageLive(_6); // scope 2 at $DIR/reference_prop.rs:+5:13: +5:14
+- _6 = (*_5); // scope 2 at $DIR/reference_prop.rs:+5:17: +5:19
++ _6 = _4; // scope 2 at $DIR/reference_prop.rs:+5:17: +5:19
+ StorageLive(_7); // scope 3 at $DIR/reference_prop.rs:+6:9: +6:19
+ StorageLive(_8); // scope 3 at $DIR/reference_prop.rs:+6:16: +6:18
+ _8 = (); // scope 3 at $DIR/reference_prop.rs:+6:16: +6:18
+ _7 = opaque::<()>(move _8) -> bb1; // scope 3 at $DIR/reference_prop.rs:+6:9: +6:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:16:9: 16:15
+ // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
+ }
+
+ bb1: {
+ StorageDead(_8); // scope 3 at $DIR/reference_prop.rs:+6:18: +6:19
+ StorageDead(_7); // scope 3 at $DIR/reference_prop.rs:+6:19: +6:20
+- _3 = const (); // scope 0 at $DIR/reference_prop.rs:+2:5: +7:6
+ StorageDead(_6); // scope 2 at $DIR/reference_prop.rs:+7:5: +7:6
+- StorageDead(_5); // scope 1 at $DIR/reference_prop.rs:+7:5: +7:6
+ StorageDead(_4); // scope 0 at $DIR/reference_prop.rs:+7:5: +7:6
+- StorageDead(_3); // scope 0 at $DIR/reference_prop.rs:+7:5: +7:6
+- StorageLive(_9); // scope 0 at $DIR/reference_prop.rs:+10:5: +18:6
+ StorageLive(_10); // scope 0 at $DIR/reference_prop.rs:+11:13: +11:14
+ _10 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+11:17: +11:24
+ StorageLive(_11); // scope 4 at $DIR/reference_prop.rs:+12:13: +12:15
+ _11 = const 7_usize; // scope 4 at $DIR/reference_prop.rs:+12:18: +12:25
+ StorageLive(_12); // scope 5 at $DIR/reference_prop.rs:+13:13: +13:18
+ _12 = &_10; // scope 5 at $DIR/reference_prop.rs:+13:21: +13:23
+ StorageLive(_13); // scope 6 at $DIR/reference_prop.rs:+14:13: +14:16
+- StorageLive(_14); // scope 6 at $DIR/reference_prop.rs:+14:13: +14:16
+- _14 = &_11; // scope 6 at $DIR/reference_prop.rs:+14:13: +14:16
+- _13 = &(*_14); // scope 6 at $DIR/reference_prop.rs:+14:13: +14:16
++ _13 = &_11; // scope 6 at $DIR/reference_prop.rs:+14:13: +14:16
+ _12 = move _13; // scope 6 at $DIR/reference_prop.rs:+14:9: +14:16
+ StorageDead(_13); // scope 6 at $DIR/reference_prop.rs:+14:15: +14:16
+- StorageDead(_14); // scope 6 at $DIR/reference_prop.rs:+14:16: +14:17
+ StorageLive(_15); // scope 6 at $DIR/reference_prop.rs:+16:13: +16:14
+ _15 = (*_12); // scope 6 at $DIR/reference_prop.rs:+16:17: +16:19
+ StorageLive(_16); // scope 7 at $DIR/reference_prop.rs:+17:9: +17:19
+ StorageLive(_17); // scope 7 at $DIR/reference_prop.rs:+17:16: +17:18
+ _17 = (); // scope 7 at $DIR/reference_prop.rs:+17:16: +17:18
+ _16 = opaque::<()>(move _17) -> bb2; // scope 7 at $DIR/reference_prop.rs:+17:9: +17:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:27:9: 27:15
+ // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
+ }
+
+ bb2: {
+ StorageDead(_17); // scope 7 at $DIR/reference_prop.rs:+17:18: +17:19
+ StorageDead(_16); // scope 7 at $DIR/reference_prop.rs:+17:19: +17:20
+- _9 = const (); // scope 0 at $DIR/reference_prop.rs:+10:5: +18:6
+ StorageDead(_15); // scope 6 at $DIR/reference_prop.rs:+18:5: +18:6
+ StorageDead(_12); // scope 5 at $DIR/reference_prop.rs:+18:5: +18:6
+ StorageDead(_11); // scope 4 at $DIR/reference_prop.rs:+18:5: +18:6
+ StorageDead(_10); // scope 0 at $DIR/reference_prop.rs:+18:5: +18:6
+- StorageDead(_9); // scope 0 at $DIR/reference_prop.rs:+18:5: +18:6
+- StorageLive(_18); // scope 0 at $DIR/reference_prop.rs:+21:5: +27:6
+ StorageLive(_19); // scope 0 at $DIR/reference_prop.rs:+22:13: +22:14
+ _19 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+22:17: +22:24
+ StorageLive(_20); // scope 8 at $DIR/reference_prop.rs:+23:13: +23:14
+ _20 = &_19; // scope 8 at $DIR/reference_prop.rs:+23:17: +23:19
+ StorageLive(_21); // scope 9 at $DIR/reference_prop.rs:+24:13: +24:14
+ _21 = &_20; // scope 9 at $DIR/reference_prop.rs:+24:17: +24:19
+ StorageLive(_22); // scope 10 at $DIR/reference_prop.rs:+25:13: +25:14
+ _22 = (*_20); // scope 10 at $DIR/reference_prop.rs:+25:17: +25:19
+ StorageLive(_23); // scope 11 at $DIR/reference_prop.rs:+26:9: +26:18
+ StorageLive(_24); // scope 11 at $DIR/reference_prop.rs:+26:16: +26:17
+ _24 = _21; // scope 11 at $DIR/reference_prop.rs:+26:16: +26:17
+ _23 = opaque::<&&usize>(move _24) -> bb3; // scope 11 at $DIR/reference_prop.rs:+26:9: +26:18
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:36:9: 36:15
+ // + literal: Const { ty: fn(&&usize) {opaque::<&&usize>}, val: Value(<ZST>) }
+ }
+
+ bb3: {
+ StorageDead(_24); // scope 11 at $DIR/reference_prop.rs:+26:17: +26:18
+ StorageDead(_23); // scope 11 at $DIR/reference_prop.rs:+26:18: +26:19
+- _18 = const (); // scope 0 at $DIR/reference_prop.rs:+21:5: +27:6
+ StorageDead(_22); // scope 10 at $DIR/reference_prop.rs:+27:5: +27:6
+ StorageDead(_21); // scope 9 at $DIR/reference_prop.rs:+27:5: +27:6
+ StorageDead(_20); // scope 8 at $DIR/reference_prop.rs:+27:5: +27:6
+ StorageDead(_19); // scope 0 at $DIR/reference_prop.rs:+27:5: +27:6
+- StorageDead(_18); // scope 0 at $DIR/reference_prop.rs:+27:5: +27:6
+- StorageLive(_25); // scope 0 at $DIR/reference_prop.rs:+30:5: +36:6
+ StorageLive(_26); // scope 0 at $DIR/reference_prop.rs:+31:13: +31:14
+ _26 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+31:17: +31:24
+ StorageLive(_27); // scope 12 at $DIR/reference_prop.rs:+32:13: +32:18
+ _27 = &_26; // scope 12 at $DIR/reference_prop.rs:+32:21: +32:23
+ StorageLive(_28); // scope 13 at $DIR/reference_prop.rs:+33:13: +33:14
+ _28 = &raw mut _27; // scope 13 at $DIR/reference_prop.rs:+33:17: +33:27
+ StorageLive(_29); // scope 14 at $DIR/reference_prop.rs:+34:13: +34:14
+ _29 = (*_27); // scope 14 at $DIR/reference_prop.rs:+34:17: +34:19
+ StorageLive(_30); // scope 15 at $DIR/reference_prop.rs:+35:9: +35:18
+ StorageLive(_31); // scope 15 at $DIR/reference_prop.rs:+35:16: +35:17
+ _31 = _28; // scope 15 at $DIR/reference_prop.rs:+35:16: +35:17
+ _30 = opaque::<*mut &usize>(move _31) -> bb4; // scope 15 at $DIR/reference_prop.rs:+35:9: +35:18
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:45:9: 45:15
+ // + literal: Const { ty: fn(*mut &usize) {opaque::<*mut &usize>}, val: Value(<ZST>) }
+ }
+
+ bb4: {
+ StorageDead(_31); // scope 15 at $DIR/reference_prop.rs:+35:17: +35:18
+ StorageDead(_30); // scope 15 at $DIR/reference_prop.rs:+35:18: +35:19
+- _25 = const (); // scope 0 at $DIR/reference_prop.rs:+30:5: +36:6
+ StorageDead(_29); // scope 14 at $DIR/reference_prop.rs:+36:5: +36:6
+ StorageDead(_28); // scope 13 at $DIR/reference_prop.rs:+36:5: +36:6
+ StorageDead(_27); // scope 12 at $DIR/reference_prop.rs:+36:5: +36:6
+ StorageDead(_26); // scope 0 at $DIR/reference_prop.rs:+36:5: +36:6
+- StorageDead(_25); // scope 0 at $DIR/reference_prop.rs:+36:5: +36:6
+- StorageLive(_32); // scope 0 at $DIR/reference_prop.rs:+39:5: +44:6
+ StorageLive(_33); // scope 0 at $DIR/reference_prop.rs:+40:13: +40:14
+ _33 = const 7_usize; // scope 0 at $DIR/reference_prop.rs:+40:17: +40:24
+ StorageLive(_34); // scope 16 at $DIR/reference_prop.rs:+41:13: +41:14
+ _34 = &_33; // scope 16 at $DIR/reference_prop.rs:+41:17: +41:19
+ StorageLive(_35); // scope 17 at $DIR/reference_prop.rs:+42:13: +42:14
+- _35 = (*_34); // scope 17 at $DIR/reference_prop.rs:+42:17: +42:19
++ _35 = _33; // scope 17 at $DIR/reference_prop.rs:+42:17: +42:19
+ StorageLive(_36); // scope 18 at $DIR/reference_prop.rs:+43:9: +43:18
+ StorageLive(_37); // scope 18 at $DIR/reference_prop.rs:+43:16: +43:17
+ _37 = _34; // scope 18 at $DIR/reference_prop.rs:+43:16: +43:17
+ _36 = opaque::<&usize>(move _37) -> bb5; // scope 18 at $DIR/reference_prop.rs:+43:9: +43:18
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:53:9: 53:15
+ // + literal: Const { ty: fn(&usize) {opaque::<&usize>}, val: Value(<ZST>) }
+ }
+
+ bb5: {
+ StorageDead(_37); // scope 18 at $DIR/reference_prop.rs:+43:17: +43:18
+ StorageDead(_36); // scope 18 at $DIR/reference_prop.rs:+43:18: +43:19
+- _32 = const (); // scope 0 at $DIR/reference_prop.rs:+39:5: +44:6
+ StorageDead(_35); // scope 17 at $DIR/reference_prop.rs:+44:5: +44:6
+ StorageDead(_34); // scope 16 at $DIR/reference_prop.rs:+44:5: +44:6
+ StorageDead(_33); // scope 0 at $DIR/reference_prop.rs:+44:5: +44:6
+- StorageDead(_32); // scope 0 at $DIR/reference_prop.rs:+44:5: +44:6
+- StorageLive(_38); // scope 0 at $DIR/reference_prop.rs:+47:5: +57:6
+ StorageLive(_39); // scope 0 at $DIR/reference_prop.rs:+48:13: +48:14
+ _39 = const 7_usize; // scope 0 at $DIR/reference_prop.rs:+48:17: +48:24
+ StorageLive(_40); // scope 19 at $DIR/reference_prop.rs:+49:13: +49:15
+ _40 = &_39; // scope 19 at $DIR/reference_prop.rs:+49:18: +49:20
+ StorageLive(_41); // scope 20 at $DIR/reference_prop.rs:+50:13: +50:14
+- _41 = (*_40); // scope 20 at $DIR/reference_prop.rs:+50:17: +50:20
++ _41 = _39; // scope 20 at $DIR/reference_prop.rs:+50:17: +50:20
+ StorageLive(_42); // scope 21 at $DIR/reference_prop.rs:+51:13: +51:15
+ _42 = _40; // scope 21 at $DIR/reference_prop.rs:+51:18: +51:20
+ StorageLive(_43); // scope 22 at $DIR/reference_prop.rs:+52:13: +52:15
+- _43 = (*_42); // scope 22 at $DIR/reference_prop.rs:+52:18: +52:21
++ _43 = _39; // scope 22 at $DIR/reference_prop.rs:+52:18: +52:21
+ StorageLive(_44); // scope 23 at $DIR/reference_prop.rs:+53:13: +53:15
+ _44 = _42; // scope 23 at $DIR/reference_prop.rs:+53:18: +53:20
+ StorageLive(_45); // scope 24 at $DIR/reference_prop.rs:+56:9: +56:19
+ StorageLive(_46); // scope 24 at $DIR/reference_prop.rs:+56:16: +56:18
+ _46 = _44; // scope 24 at $DIR/reference_prop.rs:+56:16: +56:18
+ _45 = opaque::<&usize>(move _46) -> bb6; // scope 24 at $DIR/reference_prop.rs:+56:9: +56:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:66:9: 66:15
+ // + literal: Const { ty: fn(&usize) {opaque::<&usize>}, val: Value(<ZST>) }
+ }
+
+ bb6: {
+ StorageDead(_46); // scope 24 at $DIR/reference_prop.rs:+56:18: +56:19
+ StorageDead(_45); // scope 24 at $DIR/reference_prop.rs:+56:19: +56:20
+- _38 = const (); // scope 0 at $DIR/reference_prop.rs:+47:5: +57:6
+ StorageDead(_44); // scope 23 at $DIR/reference_prop.rs:+57:5: +57:6
+ StorageDead(_43); // scope 22 at $DIR/reference_prop.rs:+57:5: +57:6
+ StorageDead(_42); // scope 21 at $DIR/reference_prop.rs:+57:5: +57:6
+ StorageDead(_41); // scope 20 at $DIR/reference_prop.rs:+57:5: +57:6
+ StorageDead(_40); // scope 19 at $DIR/reference_prop.rs:+57:5: +57:6
+ StorageDead(_39); // scope 0 at $DIR/reference_prop.rs:+57:5: +57:6
+- StorageDead(_38); // scope 0 at $DIR/reference_prop.rs:+57:5: +57:6
+- StorageLive(_47); // scope 0 at $DIR/reference_prop.rs:+60:5: +64:6
+- StorageLive(_48); // scope 0 at $DIR/reference_prop.rs:+61:13: +61:14
+- _48 = &(*_1); // scope 0 at $DIR/reference_prop.rs:+61:17: +61:25
+ StorageLive(_49); // scope 25 at $DIR/reference_prop.rs:+62:13: +62:14
+- _49 = (*_48); // scope 25 at $DIR/reference_prop.rs:+62:17: +62:19
++ _49 = (*_1); // scope 25 at $DIR/reference_prop.rs:+62:17: +62:19
+ StorageLive(_50); // scope 26 at $DIR/reference_prop.rs:+63:9: +63:19
+ StorageLive(_51); // scope 26 at $DIR/reference_prop.rs:+63:16: +63:18
+ _51 = (); // scope 26 at $DIR/reference_prop.rs:+63:16: +63:18
+ _50 = opaque::<()>(move _51) -> bb7; // scope 26 at $DIR/reference_prop.rs:+63:9: +63:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:73:9: 73:15
+ // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
+ }
+
+ bb7: {
+ StorageDead(_51); // scope 26 at $DIR/reference_prop.rs:+63:18: +63:19
+ StorageDead(_50); // scope 26 at $DIR/reference_prop.rs:+63:19: +63:20
+- _47 = const (); // scope 0 at $DIR/reference_prop.rs:+60:5: +64:6
+ StorageDead(_49); // scope 25 at $DIR/reference_prop.rs:+64:5: +64:6
+- StorageDead(_48); // scope 0 at $DIR/reference_prop.rs:+64:5: +64:6
+- StorageDead(_47); // scope 0 at $DIR/reference_prop.rs:+64:5: +64:6
+- StorageLive(_52); // scope 0 at $DIR/reference_prop.rs:+67:5: +72:6
+ StorageLive(_53); // scope 0 at $DIR/reference_prop.rs:+68:13: +68:14
+ _53 = &(*_2); // scope 0 at $DIR/reference_prop.rs:+68:17: +68:27
+ StorageLive(_54); // scope 27 at $DIR/reference_prop.rs:+69:20: +69:28
+- StorageLive(_55); // scope 27 at $DIR/reference_prop.rs:+69:20: +69:28
+- _55 = &(*_1); // scope 27 at $DIR/reference_prop.rs:+69:20: +69:28
+- _54 = &(*_55); // scope 27 at $DIR/reference_prop.rs:+69:20: +69:28
++ _54 = &(*_1); // scope 27 at $DIR/reference_prop.rs:+69:20: +69:28
+ _2 = move _54; // scope 27 at $DIR/reference_prop.rs:+69:9: +69:28
+ StorageDead(_54); // scope 27 at $DIR/reference_prop.rs:+69:27: +69:28
+- StorageDead(_55); // scope 27 at $DIR/reference_prop.rs:+69:28: +69:29
+ StorageLive(_56); // scope 27 at $DIR/reference_prop.rs:+70:13: +70:14
+ _56 = (*_53); // scope 27 at $DIR/reference_prop.rs:+70:17: +70:19
+ StorageLive(_57); // scope 28 at $DIR/reference_prop.rs:+71:9: +71:19
+ StorageLive(_58); // scope 28 at $DIR/reference_prop.rs:+71:16: +71:18
+ _58 = (); // scope 28 at $DIR/reference_prop.rs:+71:16: +71:18
+ _57 = opaque::<()>(move _58) -> bb8; // scope 28 at $DIR/reference_prop.rs:+71:9: +71:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:81:9: 81:15
+ // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
+ }
+
+ bb8: {
+ StorageDead(_58); // scope 28 at $DIR/reference_prop.rs:+71:18: +71:19
+ StorageDead(_57); // scope 28 at $DIR/reference_prop.rs:+71:19: +71:20
+- _52 = const (); // scope 0 at $DIR/reference_prop.rs:+67:5: +72:6
+ StorageDead(_56); // scope 27 at $DIR/reference_prop.rs:+72:5: +72:6
+ StorageDead(_53); // scope 0 at $DIR/reference_prop.rs:+72:5: +72:6
+- StorageDead(_52); // scope 0 at $DIR/reference_prop.rs:+72:5: +72:6
+- StorageLive(_59); // scope 0 at $DIR/reference_prop.rs:+75:5: +81:6
+ StorageLive(_60); // scope 0 at $DIR/reference_prop.rs:+76:13: +76:14
+ _60 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+76:17: +76:24
+- StorageLive(_61); // scope 29 at $DIR/reference_prop.rs:+77:13: +77:14
+- _61 = &_60; // scope 29 at $DIR/reference_prop.rs:+77:17: +77:19
+- StorageLive(_62); // scope 30 at $DIR/reference_prop.rs:+78:13: +78:14
+- _62 = &_61; // scope 30 at $DIR/reference_prop.rs:+78:17: +78:19
+ StorageLive(_63); // scope 31 at $DIR/reference_prop.rs:+79:13: +79:14
+- _63 = (*_61); // scope 31 at $DIR/reference_prop.rs:+79:17: +79:19
++ _63 = _60; // scope 31 at $DIR/reference_prop.rs:+79:17: +79:19
+ StorageLive(_64); // scope 32 at $DIR/reference_prop.rs:+80:9: +80:19
+ StorageLive(_65); // scope 32 at $DIR/reference_prop.rs:+80:16: +80:18
+ _65 = (); // scope 32 at $DIR/reference_prop.rs:+80:16: +80:18
+ _64 = opaque::<()>(move _65) -> bb9; // scope 32 at $DIR/reference_prop.rs:+80:9: +80:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:90:9: 90:15
+ // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
+ }
+
+ bb9: {
+ StorageDead(_65); // scope 32 at $DIR/reference_prop.rs:+80:18: +80:19
+ StorageDead(_64); // scope 32 at $DIR/reference_prop.rs:+80:19: +80:20
+- _59 = const (); // scope 0 at $DIR/reference_prop.rs:+75:5: +81:6
+ StorageDead(_63); // scope 31 at $DIR/reference_prop.rs:+81:5: +81:6
+- StorageDead(_62); // scope 30 at $DIR/reference_prop.rs:+81:5: +81:6
+- StorageDead(_61); // scope 29 at $DIR/reference_prop.rs:+81:5: +81:6
+ StorageDead(_60); // scope 0 at $DIR/reference_prop.rs:+81:5: +81:6
+- StorageDead(_59); // scope 0 at $DIR/reference_prop.rs:+81:5: +81:6
+ StorageLive(_66); // scope 0 at $DIR/reference_prop.rs:+85:13: +85:14
+ _66 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+85:17: +85:24
+- StorageLive(_67); // scope 33 at $DIR/reference_prop.rs:+86:13: +86:18
+- _67 = &_66; // scope 33 at $DIR/reference_prop.rs:+86:21: +86:23
+- StorageLive(_68); // scope 34 at $DIR/reference_prop.rs:+87:13: +87:14
+- _68 = &mut _67; // scope 34 at $DIR/reference_prop.rs:+87:17: +87:23
+ StorageLive(_69); // scope 35 at $DIR/reference_prop.rs:+88:13: +88:14
+- _69 = (*_67); // scope 35 at $DIR/reference_prop.rs:+88:17: +88:19
++ _69 = _66; // scope 35 at $DIR/reference_prop.rs:+88:17: +88:19
+ StorageLive(_70); // scope 36 at $DIR/reference_prop.rs:+89:9: +89:19
+ StorageLive(_71); // scope 36 at $DIR/reference_prop.rs:+89:16: +89:18
+ _71 = (); // scope 36 at $DIR/reference_prop.rs:+89:16: +89:18
+ _70 = opaque::<()>(move _71) -> bb10; // scope 36 at $DIR/reference_prop.rs:+89:9: +89:19
+ // mir::Constant
+ // + span: $DIR/reference_prop.rs:99:9: 99:15
+ // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
+ }
+
+ bb10: {
+ StorageDead(_71); // scope 36 at $DIR/reference_prop.rs:+89:18: +89:19
+ StorageDead(_70); // scope 36 at $DIR/reference_prop.rs:+89:19: +89:20
+ _0 = const (); // scope 0 at $DIR/reference_prop.rs:+84:5: +90:6
+ StorageDead(_69); // scope 35 at $DIR/reference_prop.rs:+90:5: +90:6
+- StorageDead(_68); // scope 34 at $DIR/reference_prop.rs:+90:5: +90:6
+- StorageDead(_67); // scope 33 at $DIR/reference_prop.rs:+90:5: +90:6
+ StorageDead(_66); // scope 0 at $DIR/reference_prop.rs:+90:5: +90:6
+ return; // scope 0 at $DIR/reference_prop.rs:+91:2: +91:2
+ }
+ }
+