From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- ...or_tiny.main-{closure#0}.generator_resume.0.mir | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/test/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir (limited to 'src/test/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir') diff --git a/src/test/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir b/src/test/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir new file mode 100644 index 000000000..62e7d7b2d --- /dev/null +++ b/src/test/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir @@ -0,0 +1,84 @@ +// MIR for `main::{closure#0}` 0 generator_resume +/* generator_layout = GeneratorLayout { + field_tys: { + _0: HasDrop, + }, + variant_fields: { + Unresumed(0): [], + Returned (1): [], + Panicked (2): [], + Suspend0 (3): [_0], + }, + storage_conflicts: BitMatrix(1x1) { + (_0, _0), + }, +} */ + +fn main::{closure#0}(_1: Pin<&mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]>, _2: u8) -> GeneratorState<(), ()> { + debug _x => _10; // in scope 0 at $DIR/generator-tiny.rs:+0:17: +0:19 + let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + let _3: HasDrop; // in scope 0 at $DIR/generator-tiny.rs:+1:13: +1:15 + let mut _4: !; // in scope 0 at $DIR/generator-tiny.rs:+2:9: +5:10 + let mut _5: (); // in scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + let _6: u8; // in scope 0 at $DIR/generator-tiny.rs:+3:13: +3:18 + let mut _7: (); // in scope 0 at $DIR/generator-tiny.rs:+3:13: +3:18 + let _8: (); // in scope 0 at $DIR/generator-tiny.rs:+4:13: +4:21 + let mut _9: (); // in scope 0 at $DIR/generator-tiny.rs:+0:25: +0:25 + let _10: u8; // in scope 0 at $DIR/generator-tiny.rs:+0:17: +0:19 + let mut _11: u32; // in scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + scope 1 { + debug _d => (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator-tiny.rs:+1:13: +1:15 + } + + bb0: { + _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))); // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + switchInt(move _11) -> [0_u32: bb1, 3_u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + } + + bb1: { + _10 = move _2; // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + nop; // scope 0 at $DIR/generator-tiny.rs:+1:13: +1:15 + Deinit((((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop)); // scope 0 at $DIR/generator-tiny.rs:+1:18: +1:25 + StorageLive(_4); // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10 + goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10 + } + + bb2: { + StorageLive(_6); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + StorageLive(_7); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + Deinit(_7); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + Deinit(_0); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + ((_0 as Yielded).0: ()) = move _7; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + discriminant(_0) = 0; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))) = 3; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + return; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18 + } + + bb3: { + StorageDead(_7); // scope 1 at $DIR/generator-tiny.rs:+3:17: +3:18 + StorageDead(_6); // scope 1 at $DIR/generator-tiny.rs:+3:18: +3:19 + StorageLive(_8); // scope 1 at $DIR/generator-tiny.rs:+4:13: +4:21 + _8 = callee() -> bb4; // scope 1 at $DIR/generator-tiny.rs:+4:13: +4:21 + // mir::Constant + // + span: $DIR/generator-tiny.rs:23:13: 23:19 + // + literal: Const { ty: fn() {callee}, val: Value() } + } + + bb4: { + StorageDead(_8); // scope 1 at $DIR/generator-tiny.rs:+4:21: +4:22 + _5 = const (); // scope 1 at $DIR/generator-tiny.rs:+2:14: +5:10 + goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10 + } + + bb5: { + StorageLive(_4); // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + StorageLive(_6); // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + StorageLive(_7); // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + _6 = move _2; // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + goto -> bb3; // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + } + + bb6: { + unreachable; // scope 0 at $DIR/generator-tiny.rs:+0:16: +0:24 + } +} -- cgit v1.2.3