1
Fork 0

Implement references VarDebugInfo.

This commit is contained in:
Camille GILLOT 2023-05-07 15:39:47 +00:00
parent 1c36f50b3e
commit 2ec0071913
20 changed files with 439 additions and 361 deletions

View file

@ -17,12 +17,12 @@
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 mut _19: usize; // in scope 0 at $DIR/reference_prop.rs:+22:13: +22:18
let _23: (); // in scope 0 at $DIR/reference_prop.rs:+26:9: +26:19
let mut _24: (); // in scope 0 at $DIR/reference_prop.rs:+26:16: +26:18
let _23: (); // in scope 0 at $DIR/reference_prop.rs:+26:9: +26:18
let mut _24: &&mut 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 mut _26: usize; // in scope 0 at $DIR/reference_prop.rs:+31:13: +31:18
let _30: (); // in scope 0 at $DIR/reference_prop.rs:+35:9: +35:19
let mut _31: (); // in scope 0 at $DIR/reference_prop.rs:+35:16: +35:18
let _30: (); // in scope 0 at $DIR/reference_prop.rs:+35:9: +35:18
let mut _31: *mut &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 mut _33: usize; // in scope 0 at $DIR/reference_prop.rs:+40:13: +40:18
let _36: (); // in scope 0 at $DIR/reference_prop.rs:+43:9: +43:18
@ -44,7 +44,8 @@
debug a => _4; // in scope 1 at $DIR/reference_prop.rs:+3:13: +3:18
let _5: &mut 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 => _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
@ -86,7 +87,7 @@
let mut _27: &mut 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 &mut usize; // in scope 13 at $DIR/reference_prop.rs:+33:13: +33:14
let _28: *mut &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
@ -131,7 +132,8 @@
}
}
scope 25 {
debug a => _48; // in scope 25 at $DIR/reference_prop.rs:+61:13: +61:14
- 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
@ -149,8 +151,8 @@
- 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:18
_4 = const 5_usize; // scope 0 at $DIR/reference_prop.rs:+3:21: +3:28
StorageLive(_5); // scope 1 at $DIR/reference_prop.rs:+4:13: +4:14
_5 = &mut _4; // scope 1 at $DIR/reference_prop.rs:+4:17: +4:23
- StorageLive(_5); // scope 1 at $DIR/reference_prop.rs:+4:13: +4:14
- _5 = &mut _4; // scope 1 at $DIR/reference_prop.rs:+4:17: +4:23
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
@ -168,7 +170,7 @@
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(_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
@ -215,18 +217,18 @@
_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:19
StorageLive(_24); // scope 11 at $DIR/reference_prop.rs:+26:16: +26:18
_24 = (); // scope 11 at $DIR/reference_prop.rs:+26:16: +26:18
_23 = opaque::<()>(move _24) -> bb3; // scope 11 at $DIR/reference_prop.rs:+26:9: +26: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::<&&mut usize>(move _24) -> bb3; // scope 11 at $DIR/reference_prop.rs:+26:9: +26:18
// mir::Constant
// + span: $DIR/reference_prop.rs:111:9: 111:15
// + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
// + literal: Const { ty: fn(&&mut usize) {opaque::<&&mut usize>}, val: Value(<ZST>) }
}
bb3: {
StorageDead(_24); // scope 11 at $DIR/reference_prop.rs:+26:18: +26:19
StorageDead(_23); // scope 11 at $DIR/reference_prop.rs:+26:19: +26:20
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
@ -239,21 +241,21 @@
StorageLive(_27); // scope 12 at $DIR/reference_prop.rs:+32:13: +32:18
_27 = &mut _26; // scope 12 at $DIR/reference_prop.rs:+32:21: +32:27
StorageLive(_28); // scope 13 at $DIR/reference_prop.rs:+33:13: +33:14
_28 = &mut _27; // scope 13 at $DIR/reference_prop.rs:+33:17: +33:23
_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:19
StorageLive(_31); // scope 15 at $DIR/reference_prop.rs:+35:16: +35:18
_31 = (); // scope 15 at $DIR/reference_prop.rs:+35:16: +35:18
_30 = opaque::<()>(move _31) -> bb4; // scope 15 at $DIR/reference_prop.rs:+35:9: +35: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 &mut usize>(move _31) -> bb4; // scope 15 at $DIR/reference_prop.rs:+35:9: +35:18
// mir::Constant
// + span: $DIR/reference_prop.rs:120:9: 120:15
// + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
// + literal: Const { ty: fn(*mut &mut usize) {opaque::<*mut &mut usize>}, val: Value(<ZST>) }
}
bb4: {
StorageDead(_31); // scope 15 at $DIR/reference_prop.rs:+35:18: +35:19
StorageDead(_30); // scope 15 at $DIR/reference_prop.rs:+35:19: +35:20
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
@ -318,8 +320,8 @@
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 = &mut (*_1); // scope 0 at $DIR/reference_prop.rs:+61:17: +61:29
- StorageLive(_48); // scope 0 at $DIR/reference_prop.rs:+61:13: +61:14
- _48 = &mut (*_1); // scope 0 at $DIR/reference_prop.rs:+61:17: +61:29
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
@ -337,7 +339,7 @@
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(_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:+68:13: +68:14
_52 = &mut (*_2); // scope 0 at $DIR/reference_prop.rs:+68:17: +68:31