|
5754 | 5754 | ;; CHECK-NEXT: ) |
5755 | 5755 | ;; CHECK-NEXT: ) |
5756 | 5756 | ;; CHECK-NEXT: (drop |
5757 | | - ;; CHECK-NEXT: (block (result i32) |
5758 | | - ;; CHECK-NEXT: (i32.add |
5759 | | - ;; CHECK-NEXT: (local.get $1) |
5760 | | - ;; CHECK-NEXT: (unreachable) |
5761 | | - ;; CHECK-NEXT: ) |
| 5757 | + ;; CHECK-NEXT: (i32.add |
| 5758 | + ;; CHECK-NEXT: (local.get $1) |
| 5759 | + ;; CHECK-NEXT: (unreachable) |
5762 | 5760 | ;; CHECK-NEXT: ) |
5763 | 5761 | ;; CHECK-NEXT: ) |
5764 | 5762 | ;; CHECK-NEXT: (drop |
5765 | | - ;; CHECK-NEXT: (block (result i32) |
| 5763 | + ;; CHECK-NEXT: (block |
5766 | 5764 | ;; CHECK-NEXT: (drop |
5767 | 5765 | ;; CHECK-NEXT: (local.tee $0 |
5768 | 5766 | ;; CHECK-NEXT: (local.get $1) |
|
5775 | 5773 | ;; CHECK-NEXT: ) |
5776 | 5774 | ;; CHECK-NEXT: ) |
5777 | 5775 | ;; CHECK-NEXT: (drop |
5778 | | - ;; CHECK-NEXT: (if (result i32) |
| 5776 | + ;; CHECK-NEXT: (if |
5779 | 5777 | ;; CHECK-NEXT: (unreachable) |
5780 | 5778 | ;; CHECK-NEXT: (then |
5781 | 5779 | ;; CHECK-NEXT: (i32.add |
@@ -15718,23 +15716,21 @@ |
15718 | 15716 | ) |
15719 | 15717 | ) |
15720 | 15718 | ) |
15721 | | - ;; CHECK: (func $if-dont-change-to-unreachable (param $x i32) (param $y i32) (param $z i32) (result i32) |
15722 | | - ;; CHECK-NEXT: (if (result i32) |
15723 | | - ;; CHECK-NEXT: (local.get $x) |
15724 | | - ;; CHECK-NEXT: (then |
15725 | | - ;; CHECK-NEXT: (return |
| 15719 | + ;; CHECK: (func $if-unreachable-return-identical (param $x i32) (param $y i32) (param $z i32) (result i32) |
| 15720 | + ;; CHECK-NEXT: (return |
| 15721 | + ;; CHECK-NEXT: (if (result i32) |
| 15722 | + ;; CHECK-NEXT: (local.get $x) |
| 15723 | + ;; CHECK-NEXT: (then |
15726 | 15724 | ;; CHECK-NEXT: (local.get $y) |
15727 | 15725 | ;; CHECK-NEXT: ) |
15728 | | - ;; CHECK-NEXT: ) |
15729 | | - ;; CHECK-NEXT: (else |
15730 | | - ;; CHECK-NEXT: (return |
| 15726 | + ;; CHECK-NEXT: (else |
15731 | 15727 | ;; CHECK-NEXT: (local.get $z) |
15732 | 15728 | ;; CHECK-NEXT: ) |
15733 | 15729 | ;; CHECK-NEXT: ) |
15734 | 15730 | ;; CHECK-NEXT: ) |
15735 | 15731 | ;; CHECK-NEXT: ) |
15736 | | - (func $if-dont-change-to-unreachable (param $x i32) (param $y i32) (param $z i32) (result i32) |
15737 | | - ;; if we move the returns outside, we'd become unreachable; avoid that. |
| 15732 | + (func $if-unreachable-return-identical (param $x i32) (param $y i32) (param $z i32) (result i32) |
| 15733 | + ;; We can move the returns outside because we are already unreachable. |
15738 | 15734 | (if (result i32) |
15739 | 15735 | (local.get $x) |
15740 | 15736 | (then |
|
0 commit comments