diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir')
-rw-r--r-- | src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir b/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir new file mode 100644 index 000000000..d39145973 --- /dev/null +++ b/src/test/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir @@ -0,0 +1,83 @@ +// MIR for `match_tuple` after SimplifyCfg-initial + +fn match_tuple(_1: (u32, bool, Option<i32>, u32)) -> u32 { + debug x => _1; // in scope 0 at $DIR/exponential-or.rs:+0:16: +0:17 + let mut _0: u32; // return place in scope 0 at $DIR/exponential-or.rs:+0:53: +0:56 + let mut _2: isize; // in scope 0 at $DIR/exponential-or.rs:+2:37: +2:48 + let mut _3: bool; // in scope 0 at $DIR/exponential-or.rs:+2:70: +2:77 + let mut _4: bool; // in scope 0 at $DIR/exponential-or.rs:+2:70: +2:77 + let mut _5: bool; // in scope 0 at $DIR/exponential-or.rs:+2:62: +2:67 + let mut _6: bool; // in scope 0 at $DIR/exponential-or.rs:+2:62: +2:67 + let _7: u32; // in scope 0 at $DIR/exponential-or.rs:+2:10: +2:21 + let _8: u32; // in scope 0 at $DIR/exponential-or.rs:+2:57: +2:78 + let mut _9: u32; // in scope 0 at $DIR/exponential-or.rs:+2:83: +2:84 + let mut _10: u32; // in scope 0 at $DIR/exponential-or.rs:+2:87: +2:88 + scope 1 { + debug y => _7; // in scope 1 at $DIR/exponential-or.rs:+2:10: +2:21 + debug z => _8; // in scope 1 at $DIR/exponential-or.rs:+2:57: +2:78 + } + + bb0: { + FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/exponential-or.rs:+1:11: +1:12 + switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:15: +2:20 + } + + bb1: { + _0 = const 0_u32; // scope 0 at $DIR/exponential-or.rs:+3:14: +3:15 + goto -> bb10; // scope 0 at $DIR/exponential-or.rs:+3:14: +3:15 + } + + bb2: { + _2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55 + switchInt(move _2) -> [0_isize: bb4, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55 + } + + bb3: { + switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1_i32: bb4, 8_i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55 + } + + bb4: { + _5 = Le(const 6_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67 + switchInt(move _5) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67 + } + + bb5: { + _6 = Le((_1.3: u32), const 9_u32); // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67 + switchInt(move _6) -> [false: bb6, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67 + } + + bb6: { + _3 = Le(const 13_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77 + switchInt(move _3) -> [false: bb1, otherwise: bb7]; // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77 + } + + bb7: { + _4 = Le((_1.3: u32), const 16_u32); // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77 + switchInt(move _4) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77 + } + + bb8: { + falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:9: +2:79 + } + + bb9: { + StorageLive(_7); // scope 0 at $DIR/exponential-or.rs:+2:10: +2:21 + _7 = (_1.0: u32); // scope 0 at $DIR/exponential-or.rs:+2:10: +2:21 + StorageLive(_8); // scope 0 at $DIR/exponential-or.rs:+2:57: +2:78 + _8 = (_1.3: u32); // scope 0 at $DIR/exponential-or.rs:+2:57: +2:78 + StorageLive(_9); // scope 1 at $DIR/exponential-or.rs:+2:83: +2:84 + _9 = _7; // scope 1 at $DIR/exponential-or.rs:+2:83: +2:84 + StorageLive(_10); // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88 + _10 = _8; // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88 + _0 = BitXor(move _9, move _10); // scope 1 at $DIR/exponential-or.rs:+2:83: +2:88 + StorageDead(_10); // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88 + StorageDead(_9); // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88 + StorageDead(_8); // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88 + StorageDead(_7); // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88 + goto -> bb10; // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88 + } + + bb10: { + return; // scope 0 at $DIR/exponential-or.rs:+5:2: +5:2 + } +} |