mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
88 lines
5.9 KiB
Diff
88 lines
5.9 KiB
Diff
- // MIR for `flat` before ScalarReplacementOfAggregates
|
|
+ // MIR for `flat` after ScalarReplacementOfAggregates
|
|
|
|
fn flat() -> () {
|
|
let mut _0: (); // return place in scope 0 at $DIR/sroa.rs:+0:15: +0:15
|
|
let _1: u8; // in scope 0 at $DIR/sroa.rs:+1:15: +1:16
|
|
let _2: (); // in scope 0 at $DIR/sroa.rs:+1:18: +1:19
|
|
let _3: &str; // in scope 0 at $DIR/sroa.rs:+1:21: +1:22
|
|
let _4: std::option::Option<isize>; // in scope 0 at $DIR/sroa.rs:+1:24: +1:25
|
|
let mut _5: Foo; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
let mut _6: (); // in scope 0 at $DIR/sroa.rs:+1:45: +1:47
|
|
let mut _7: std::option::Option<isize>; // in scope 0 at $DIR/sroa.rs:+1:60: +1:68
|
|
+ let mut _8: u8; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ let mut _9: (); // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ let mut _10: &str; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ let mut _11: std::option::Option<isize>; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
scope 1 {
|
|
debug a => _1; // in scope 1 at $DIR/sroa.rs:+1:15: +1:16
|
|
debug b => _2; // in scope 1 at $DIR/sroa.rs:+1:18: +1:19
|
|
debug c => _3; // in scope 1 at $DIR/sroa.rs:+1:21: +1:22
|
|
debug d => _4; // in scope 1 at $DIR/sroa.rs:+1:24: +1:25
|
|
scope 2 {
|
|
scope 3 {
|
|
scope 4 {
|
|
scope 5 {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
bb0: {
|
|
- StorageLive(_5); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ StorageLive(_8); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ StorageLive(_9); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ StorageLive(_10); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ StorageLive(_11); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
StorageLive(_6); // scope 0 at $DIR/sroa.rs:+1:45: +1:47
|
|
Deinit(_6); // scope 0 at $DIR/sroa.rs:+1:45: +1:47
|
|
StorageLive(_7); // scope 0 at $DIR/sroa.rs:+1:60: +1:68
|
|
Deinit(_7); // scope 0 at $DIR/sroa.rs:+1:60: +1:68
|
|
((_7 as Some).0: isize) = const -4_isize; // scope 0 at $DIR/sroa.rs:+1:60: +1:68
|
|
discriminant(_7) = 1; // scope 0 at $DIR/sroa.rs:+1:60: +1:68
|
|
- Deinit(_5); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
- (_5.0: u8) = const 5_u8; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
- (_5.1: ()) = move _6; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
- (_5.2: &str) = const "a"; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ Deinit(_8); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ Deinit(_9); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ Deinit(_10); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ Deinit(_11); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ _8 = const 5_u8; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ _9 = move _6; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ _10 = const "a"; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
// mir::Constant
|
|
// + span: $DIR/sroa.rs:57:52: 57:55
|
|
// + literal: Const { ty: &str, val: Value(Slice(..)) }
|
|
- (_5.3: std::option::Option<isize>) = move _7; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
+ _11 = move _7; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
|
|
StorageDead(_7); // scope 0 at $DIR/sroa.rs:+1:69: +1:70
|
|
StorageDead(_6); // scope 0 at $DIR/sroa.rs:+1:69: +1:70
|
|
StorageLive(_1); // scope 0 at $DIR/sroa.rs:+1:15: +1:16
|
|
- _1 = (_5.0: u8); // scope 0 at $DIR/sroa.rs:+1:15: +1:16
|
|
+ _1 = _8; // scope 0 at $DIR/sroa.rs:+1:15: +1:16
|
|
StorageLive(_2); // scope 0 at $DIR/sroa.rs:+1:18: +1:19
|
|
- _2 = (_5.1: ()); // scope 0 at $DIR/sroa.rs:+1:18: +1:19
|
|
+ _2 = _9; // scope 0 at $DIR/sroa.rs:+1:18: +1:19
|
|
StorageLive(_3); // scope 0 at $DIR/sroa.rs:+1:21: +1:22
|
|
- _3 = (_5.2: &str); // scope 0 at $DIR/sroa.rs:+1:21: +1:22
|
|
+ _3 = _10; // scope 0 at $DIR/sroa.rs:+1:21: +1:22
|
|
StorageLive(_4); // scope 0 at $DIR/sroa.rs:+1:24: +1:25
|
|
- _4 = (_5.3: std::option::Option<isize>); // scope 0 at $DIR/sroa.rs:+1:24: +1:25
|
|
- StorageDead(_5); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
|
|
+ _4 = _11; // scope 0 at $DIR/sroa.rs:+1:24: +1:25
|
|
+ StorageDead(_8); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
|
|
+ StorageDead(_9); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
|
|
+ StorageDead(_10); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
|
|
+ StorageDead(_11); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
|
|
_0 = const (); // scope 0 at $DIR/sroa.rs:+0:15: +6:2
|
|
StorageDead(_4); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
|
|
StorageDead(_3); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
|
|
StorageDead(_2); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
|
|
StorageDead(_1); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
|
|
return; // scope 0 at $DIR/sroa.rs:+6:2: +6:2
|
|
}
|
|
}
|
|
|