Skip to content

Commit

Permalink
Make simplify_cfg test more consistent
Browse files Browse the repository at this point in the history
Force it to always use panic=abort which means that all targets should
produce the same MIR now.
  • Loading branch information
alexcrichton committed Aug 3, 2021
1 parent 0168dfe commit fb939ed
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 47 deletions.
41 changes: 21 additions & 20 deletions src/test/mir-opt/simplify_cfg.main.SimplifyCfg-early-opt.diff
Expand Up @@ -2,46 +2,47 @@
+ // MIR for `main` after SimplifyCfg-early-opt

fn main() -> () {
let mut _0: (); // return place in scope 0 at $DIR/simplify_cfg.rs:5:11: 5:11
let mut _1: (); // in scope 0 at $DIR/simplify_cfg.rs:5:1: 11:2
let mut _2: bool; // in scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
let mut _3: !; // in scope 0 at $DIR/simplify_cfg.rs:7:18: 9:10
let mut _0: (); // return place in scope 0 at $DIR/simplify_cfg.rs:7:11: 7:11
let mut _1: (); // in scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
let mut _2: bool; // in scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
let mut _3: !; // in scope 0 at $DIR/simplify_cfg.rs:9:18: 11:10

bb0: {
- goto -> bb1; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
- goto -> bb1; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
- }
-
- bb1: {
StorageLive(_2); // scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
- _2 = bar() -> bb2; // scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
+ _2 = bar() -> bb1; // scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
StorageLive(_2); // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
- _2 = bar() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+ _2 = bar() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
// mir::Constant
// + span: $DIR/simplify_cfg.rs:7:12: 7:15
// + span: $DIR/simplify_cfg.rs:9:12: 9:15
// + literal: Const { ty: fn() -> bool {bar}, val: Value(Scalar(<ZST>)) }
}

- bb2: {
- switchInt(move _2) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/simplify_cfg.rs:7:9: 9:10
- switchInt(move _2) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
+ bb1: {
+ switchInt(move _2) -> [false: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify_cfg.rs:7:9: 9:10
+ switchInt(move _2) -> [false: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
}

- bb3: {
+ bb2: {
_0 = const (); // scope 0 at $DIR/simplify_cfg.rs:8:13: 8:18
StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:9:9: 9:10
return; // scope 0 at $DIR/simplify_cfg.rs:11:2: 11:2
_0 = const (); // scope 0 at $DIR/simplify_cfg.rs:10:13: 10:18
StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
return; // scope 0 at $DIR/simplify_cfg.rs:13:2: 13:2
}

- bb4: {
+ bb3: {
_1 = const (); // scope 0 at $DIR/simplify_cfg.rs:9:10: 9:10
StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:9:9: 9:10
goto -> bb0; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
- }
-
_1 = const (); // scope 0 at $DIR/simplify_cfg.rs:11:10: 11:10
StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
goto -> bb0; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
}
- bb5 (cleanup): {
- resume; // scope 0 at $DIR/simplify_cfg.rs:5:1: 11:2
+ bb4 (cleanup): {
resume; // scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
}
}

54 changes: 27 additions & 27 deletions src/test/mir-opt/simplify_cfg.main.SimplifyCfg-initial.diff
Expand Up @@ -2,71 +2,71 @@
+ // MIR for `main` after SimplifyCfg-initial

fn main() -> () {
let mut _0: (); // return place in scope 0 at $DIR/simplify_cfg.rs:5:11: 5:11
let mut _1: (); // in scope 0 at $DIR/simplify_cfg.rs:5:1: 11:2
let mut _2: bool; // in scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
let mut _3: !; // in scope 0 at $DIR/simplify_cfg.rs:7:18: 9:10
let mut _0: (); // return place in scope 0 at $DIR/simplify_cfg.rs:7:11: 7:11
let mut _1: (); // in scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
let mut _2: bool; // in scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
let mut _3: !; // in scope 0 at $DIR/simplify_cfg.rs:9:18: 11:10

bb0: {
- goto -> bb1; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
+ falseUnwind -> [real: bb1, cleanup: bb5]; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
- goto -> bb1; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+ falseUnwind -> [real: bb1, cleanup: bb5]; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
}

bb1: {
- falseUnwind -> [real: bb2, cleanup: bb10]; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
- falseUnwind -> [real: bb2, cleanup: bb10]; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
- }
-
- bb2: {
StorageLive(_2); // scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
- _2 = bar() -> [return: bb3, unwind: bb10]; // scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
+ _2 = bar() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/simplify_cfg.rs:7:12: 7:17
StorageLive(_2); // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
- _2 = bar() -> [return: bb3, unwind: bb10]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
+ _2 = bar() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/simplify_cfg.rs:9:12: 9:17
// mir::Constant
// + span: $DIR/simplify_cfg.rs:7:12: 7:15
// + span: $DIR/simplify_cfg.rs:9:12: 9:15
// + literal: Const { ty: fn() -> bool {bar}, val: Value(Scalar(<ZST>)) }
}

- bb3: {
- switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/simplify_cfg.rs:7:9: 9:10
- switchInt(move _2) -> [false: bb5, otherwise: bb4]; // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
+ bb2: {
+ switchInt(move _2) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/simplify_cfg.rs:7:9: 9:10
+ switchInt(move _2) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
}

- bb4: {
+ bb3: {
_0 = const (); // scope 0 at $DIR/simplify_cfg.rs:8:13: 8:18
- goto -> bb9; // scope 0 at $DIR/simplify_cfg.rs:8:13: 8:18
+ StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:9:9: 9:10
+ return; // scope 0 at $DIR/simplify_cfg.rs:11:2: 11:2
_0 = const (); // scope 0 at $DIR/simplify_cfg.rs:10:13: 10:18
- goto -> bb9; // scope 0 at $DIR/simplify_cfg.rs:10:13: 10:18
+ StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
+ return; // scope 0 at $DIR/simplify_cfg.rs:13:2: 13:2
}

- bb5: {
+ bb4: {
_1 = const (); // scope 0 at $DIR/simplify_cfg.rs:9:10: 9:10
- goto -> bb8; // scope 0 at $DIR/simplify_cfg.rs:7:9: 9:10
_1 = const (); // scope 0 at $DIR/simplify_cfg.rs:11:10: 11:10
- goto -> bb8; // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
- }
-
- bb6: {
- unreachable; // scope 0 at $DIR/simplify_cfg.rs:7:18: 9:10
- unreachable; // scope 0 at $DIR/simplify_cfg.rs:9:18: 11:10
- }
-
- bb7: {
- goto -> bb8; // scope 0 at $DIR/simplify_cfg.rs:7:9: 9:10
- goto -> bb8; // scope 0 at $DIR/simplify_cfg.rs:9:9: 11:10
- }
-
- bb8: {
StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:9:9: 9:10
- goto -> bb1; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
+ goto -> bb0; // scope 0 at $DIR/simplify_cfg.rs:6:5: 10:6
StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
- goto -> bb1; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
+ goto -> bb0; // scope 0 at $DIR/simplify_cfg.rs:8:5: 12:6
}

- bb9: {
- StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:9:9: 9:10
- return; // scope 0 at $DIR/simplify_cfg.rs:11:2: 11:2
- StorageDead(_2); // scope 0 at $DIR/simplify_cfg.rs:11:9: 11:10
- return; // scope 0 at $DIR/simplify_cfg.rs:13:2: 13:2
- }
-
- bb10 (cleanup): {
+ bb5 (cleanup): {
resume; // scope 0 at $DIR/simplify_cfg.rs:5:1: 11:2
resume; // scope 0 at $DIR/simplify_cfg.rs:7:1: 13:2
}
}

2 changes: 2 additions & 0 deletions src/test/mir-opt/simplify_cfg.rs
@@ -1,4 +1,6 @@
// Test that the goto chain starting from bb0 is collapsed.
// compile-flags: -Cpanic=abort
// no-prefer-dynamic

// EMIT_MIR simplify_cfg.main.SimplifyCfg-initial.diff
// EMIT_MIR simplify_cfg.main.SimplifyCfg-early-opt.diff
Expand Down

0 comments on commit fb939ed

Please sign in to comment.