diff options
Diffstat (limited to 'test/lit/passes')
-rw-r--r-- | test/lit/passes/dae-gc-refine-return.wast | 38 | ||||
-rw-r--r-- | test/lit/passes/inlining_all-features.wast | 2 | ||||
-rw-r--r-- | test/lit/passes/optimize-instructions-call_ref.wast | 2 |
3 files changed, 27 insertions, 15 deletions
diff --git a/test/lit/passes/dae-gc-refine-return.wast b/test/lit/passes/dae-gc-refine-return.wast index ccf11509c..84e161651 100644 --- a/test/lit/passes/dae-gc-refine-return.wast +++ b/test/lit/passes/dae-gc-refine-return.wast @@ -586,20 +586,20 @@ ) ;; CHECK: (func $tail-caller-call_ref-yes (result (ref ${})) ;; CHECK-NEXT: (local $return_{} (ref null $return_{})) - ;; CHECK-NEXT: (return_call_ref + ;; CHECK-NEXT: (return_call_ref $return_{} ;; CHECK-NEXT: (local.get $return_{}) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; NOMNL: (func $tail-caller-call_ref-yes (type $return_{}) (result (ref ${})) ;; NOMNL-NEXT: (local $return_{} (ref null $return_{})) - ;; NOMNL-NEXT: (return_call_ref + ;; NOMNL-NEXT: (return_call_ref $return_{} ;; NOMNL-NEXT: (local.get $return_{}) ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) (func $tail-caller-call_ref-yes (result anyref) (local $return_{} (ref null $return_{})) - (return_call_ref (local.get $return_{})) + (return_call_ref $return_{} (local.get $return_{})) ) ;; CHECK: (func $tail-caller-call_ref-no (result anyref) ;; CHECK-NEXT: (local $any anyref) @@ -610,7 +610,7 @@ ;; CHECK-NEXT: (local.get $any) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return_call_ref + ;; CHECK-NEXT: (return_call_ref $return_{} ;; CHECK-NEXT: (local.get $return_{}) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -623,7 +623,7 @@ ;; NOMNL-NEXT: (local.get $any) ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) - ;; NOMNL-NEXT: (return_call_ref + ;; NOMNL-NEXT: (return_call_ref $return_{} ;; NOMNL-NEXT: (local.get $return_{}) ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) @@ -634,18 +634,26 @@ (if (i32.const 1) (return (local.get $any)) ) - (return_call_ref (local.get $return_{})) + (return_call_ref $return_{} (local.get $return_{})) ) - ;; CHECK: (func $tail-caller-call_ref-unreachable - ;; CHECK-NEXT: (unreachable) + ;; CHECK: (func $tail-caller-call_ref-unreachable (result anyref) + ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; NOMNL: (func $tail-caller-call_ref-unreachable (type $none_=>_none) - ;; NOMNL-NEXT: (unreachable) + ;; NOMNL: (func $tail-caller-call_ref-unreachable (type $none_=>_anyref) (result anyref) + ;; NOMNL-NEXT: (block ;; (replaces something unreachable we can't emit) + ;; NOMNL-NEXT: (drop + ;; NOMNL-NEXT: (unreachable) + ;; NOMNL-NEXT: ) + ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) (func $tail-caller-call_ref-unreachable (result anyref) ;; An unreachable means there is no function signature to even look at. We ;; should not hit an assertion on such things. - (return_call_ref (unreachable)) + (return_call_ref $return_{} (unreachable)) ) ;; CHECK: (func $tail-call-caller-call_ref ;; CHECK-NEXT: (drop @@ -654,7 +662,9 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $tail-caller-call_ref-no) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $tail-caller-call_ref-unreachable) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $tail-caller-call_ref-unreachable) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; NOMNL: (func $tail-call-caller-call_ref (type $none_=>_none) ;; NOMNL-NEXT: (drop @@ -663,7 +673,9 @@ ;; NOMNL-NEXT: (drop ;; NOMNL-NEXT: (call $tail-caller-call_ref-no) ;; NOMNL-NEXT: ) - ;; NOMNL-NEXT: (call $tail-caller-call_ref-unreachable) + ;; NOMNL-NEXT: (drop + ;; NOMNL-NEXT: (call $tail-caller-call_ref-unreachable) + ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) (func $tail-call-caller-call_ref (drop diff --git a/test/lit/passes/inlining_all-features.wast b/test/lit/passes/inlining_all-features.wast index f820d1826..59afe1ce9 100644 --- a/test/lit/passes/inlining_all-features.wast +++ b/test/lit/passes/inlining_all-features.wast @@ -135,7 +135,7 @@ (export "func_36_invoker" (func $1)) (func $0 - (return_call_ref + (return_call_ref $none_=>_none (ref.null $none_=>_none) ) ) diff --git a/test/lit/passes/optimize-instructions-call_ref.wast b/test/lit/passes/optimize-instructions-call_ref.wast index 7164fda55..95e2af18c 100644 --- a/test/lit/passes/optimize-instructions-call_ref.wast +++ b/test/lit/passes/optimize-instructions-call_ref.wast @@ -316,7 +316,7 @@ (func $return_call_ref-to-select (param $x i32) (param $y i32) ;; As above, but with a return call. We optimize this too, and turn a ;; return_call_ref over a select into an if over return_calls. - (return_call_ref + (return_call_ref $i32_i32_=>_none (local.get $x) (local.get $y) (select |