summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/sroa.escaping.ScalarReplacementOfAggregates.diff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mir-opt/sroa.escaping.ScalarReplacementOfAggregates.diff')
-rw-r--r--tests/mir-opt/sroa.escaping.ScalarReplacementOfAggregates.diff47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/mir-opt/sroa.escaping.ScalarReplacementOfAggregates.diff b/tests/mir-opt/sroa.escaping.ScalarReplacementOfAggregates.diff
new file mode 100644
index 000000000..64559b58f
--- /dev/null
+++ b/tests/mir-opt/sroa.escaping.ScalarReplacementOfAggregates.diff
@@ -0,0 +1,47 @@
+- // MIR for `escaping` before ScalarReplacementOfAggregates
++ // MIR for `escaping` after ScalarReplacementOfAggregates
+
+ fn escaping() -> () {
+ let mut _0: (); // return place in scope 0 at $DIR/sroa.rs:+0:19: +0:19
+ let _1: (); // in scope 0 at $DIR/sroa.rs:+2:5: +2:42
+ let mut _2: *const u32; // in scope 0 at $DIR/sroa.rs:+2:7: +2:41
+ let _3: &u32; // in scope 0 at $DIR/sroa.rs:+2:7: +2:41
+ let _4: Escaping; // in scope 0 at $DIR/sroa.rs:+2:8: +2:39
+ let mut _5: u32; // in scope 0 at $DIR/sroa.rs:+2:34: +2:37
+
+ bb0: {
+ StorageLive(_1); // scope 0 at $DIR/sroa.rs:+2:5: +2:42
+ StorageLive(_2); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
+ StorageLive(_3); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
+ StorageLive(_4); // scope 0 at $DIR/sroa.rs:+2:8: +2:39
+ StorageLive(_5); // scope 0 at $DIR/sroa.rs:+2:34: +2:37
+ _5 = g() -> bb1; // scope 0 at $DIR/sroa.rs:+2:34: +2:37
+ // mir::Constant
+ // + span: $DIR/sroa.rs:78:34: 78:35
+ // + literal: Const { ty: fn() -> u32 {g}, val: Value(<ZST>) }
+ }
+
+ bb1: {
+ Deinit(_4); // scope 0 at $DIR/sroa.rs:+2:8: +2:39
+ (_4.0: u32) = const 1_u32; // scope 0 at $DIR/sroa.rs:+2:8: +2:39
+ (_4.1: u32) = const 2_u32; // scope 0 at $DIR/sroa.rs:+2:8: +2:39
+ (_4.2: u32) = move _5; // scope 0 at $DIR/sroa.rs:+2:8: +2:39
+ StorageDead(_5); // scope 0 at $DIR/sroa.rs:+2:38: +2:39
+ _3 = &(_4.0: u32); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
+ _2 = &raw const (*_3); // scope 0 at $DIR/sroa.rs:+2:7: +2:41
+ _1 = f(move _2) -> bb2; // scope 0 at $DIR/sroa.rs:+2:5: +2:42
+ // mir::Constant
+ // + span: $DIR/sroa.rs:78:5: 78:6
+ // + literal: Const { ty: fn(*const u32) {f}, val: Value(<ZST>) }
+ }
+
+ bb2: {
+ StorageDead(_2); // scope 0 at $DIR/sroa.rs:+2:41: +2:42
+ StorageDead(_4); // scope 0 at $DIR/sroa.rs:+2:42: +2:43
+ StorageDead(_3); // scope 0 at $DIR/sroa.rs:+2:42: +2:43
+ StorageDead(_1); // scope 0 at $DIR/sroa.rs:+2:42: +2:43
+ _0 = const (); // scope 0 at $DIR/sroa.rs:+0:19: +3:2
+ return; // scope 0 at $DIR/sroa.rs:+3:2: +3:2
+ }
+ }
+