summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff')
-rw-r--r--tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff80
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff b/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff
new file mode 100644
index 000000000..1aa11d17b
--- /dev/null
+++ b/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff
@@ -0,0 +1,80 @@
+- // MIR for `flat` before ScalarReplacementOfAggregates
++ // MIR for `flat` after ScalarReplacementOfAggregates
+
+ fn flat() -> () {
+ let mut _0: (); // return place in scope 0 at $DIR/structs.rs:+0:15: +0:15
+ let _1: u8; // in scope 0 at $DIR/structs.rs:+1:15: +1:16
+ let _2: (); // in scope 0 at $DIR/structs.rs:+1:18: +1:19
+ let _3: &str; // in scope 0 at $DIR/structs.rs:+1:21: +1:22
+ let _4: std::option::Option<isize>; // in scope 0 at $DIR/structs.rs:+1:24: +1:25
+ let mut _5: Foo; // in scope 0 at $DIR/structs.rs:+1:30: +1:70
+ let mut _6: (); // in scope 0 at $DIR/structs.rs:+1:45: +1:47
+ let mut _7: std::option::Option<isize>; // in scope 0 at $DIR/structs.rs:+1:60: +1:68
++ let mut _8: u8; // in scope 0 at $DIR/structs.rs:+1:30: +1:70
++ let mut _9: (); // in scope 0 at $DIR/structs.rs:+1:30: +1:70
++ let mut _10: &str; // in scope 0 at $DIR/structs.rs:+1:30: +1:70
++ let mut _11: std::option::Option<isize>; // in scope 0 at $DIR/structs.rs:+1:30: +1:70
+ scope 1 {
+ debug a => _1; // in scope 1 at $DIR/structs.rs:+1:15: +1:16
+ debug b => _2; // in scope 1 at $DIR/structs.rs:+1:18: +1:19
+ debug c => _3; // in scope 1 at $DIR/structs.rs:+1:21: +1:22
+ debug d => _4; // in scope 1 at $DIR/structs.rs:+1:24: +1:25
+ scope 2 {
+ scope 3 {
+ scope 4 {
+ scope 5 {
+ }
+ }
+ }
+ }
+ }
+
+ bb0: {
+- StorageLive(_5); // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ StorageLive(_8); // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ StorageLive(_9); // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ StorageLive(_10); // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ StorageLive(_11); // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ nop; // scope 0 at $DIR/structs.rs:+1:30: +1:70
+ StorageLive(_6); // scope 0 at $DIR/structs.rs:+1:45: +1:47
+ _6 = (); // scope 0 at $DIR/structs.rs:+1:45: +1:47
+ StorageLive(_7); // scope 0 at $DIR/structs.rs:+1:60: +1:68
+ _7 = Option::<isize>::Some(const -4_isize); // scope 0 at $DIR/structs.rs:+1:60: +1:68
+- _5 = Foo { a: const 5_u8, b: move _6, c: const "a", d: move _7 }; // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ _8 = const 5_u8; // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ _9 = move _6; // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ _10 = const "a"; // scope 0 at $DIR/structs.rs:+1:30: +1:70
+ // mir::Constant
+ // + span: $DIR/structs.rs:53:52: 53:55
+ // + literal: Const { ty: &str, val: Value(Slice(..)) }
++ _11 = move _7; // scope 0 at $DIR/structs.rs:+1:30: +1:70
++ nop; // scope 0 at $DIR/structs.rs:+1:30: +1:70
+ StorageDead(_7); // scope 0 at $DIR/structs.rs:+1:69: +1:70
+ StorageDead(_6); // scope 0 at $DIR/structs.rs:+1:69: +1:70
+ StorageLive(_1); // scope 0 at $DIR/structs.rs:+1:15: +1:16
+- _1 = (_5.0: u8); // scope 0 at $DIR/structs.rs:+1:15: +1:16
++ _1 = _8; // scope 0 at $DIR/structs.rs:+1:15: +1:16
+ StorageLive(_2); // scope 0 at $DIR/structs.rs:+1:18: +1:19
+- _2 = (_5.1: ()); // scope 0 at $DIR/structs.rs:+1:18: +1:19
++ _2 = _9; // scope 0 at $DIR/structs.rs:+1:18: +1:19
+ StorageLive(_3); // scope 0 at $DIR/structs.rs:+1:21: +1:22
+- _3 = (_5.2: &str); // scope 0 at $DIR/structs.rs:+1:21: +1:22
++ _3 = _10; // scope 0 at $DIR/structs.rs:+1:21: +1:22
+ StorageLive(_4); // scope 0 at $DIR/structs.rs:+1:24: +1:25
+- _4 = (_5.3: std::option::Option<isize>); // scope 0 at $DIR/structs.rs:+1:24: +1:25
+- StorageDead(_5); // scope 0 at $DIR/structs.rs:+1:70: +1:71
++ _4 = _11; // scope 0 at $DIR/structs.rs:+1:24: +1:25
++ StorageDead(_8); // scope 0 at $DIR/structs.rs:+1:70: +1:71
++ StorageDead(_9); // scope 0 at $DIR/structs.rs:+1:70: +1:71
++ StorageDead(_10); // scope 0 at $DIR/structs.rs:+1:70: +1:71
++ StorageDead(_11); // scope 0 at $DIR/structs.rs:+1:70: +1:71
++ nop; // scope 0 at $DIR/structs.rs:+1:70: +1:71
+ _0 = const (); // scope 0 at $DIR/structs.rs:+0:15: +6:2
+ StorageDead(_4); // scope 0 at $DIR/structs.rs:+6:1: +6:2
+ StorageDead(_3); // scope 0 at $DIR/structs.rs:+6:1: +6:2
+ StorageDead(_2); // scope 0 at $DIR/structs.rs:+6:1: +6:2
+ StorageDead(_1); // scope 0 at $DIR/structs.rs:+6:1: +6:2
+ return; // scope 0 at $DIR/structs.rs:+6:2: +6:2
+ }
+ }
+