diff options
Diffstat (limited to 'test/lit/passes/local-cse.wast')
-rw-r--r-- | test/lit/passes/local-cse.wast | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/test/lit/passes/local-cse.wast b/test/lit/passes/local-cse.wast index 5cdf712f8..6d1b8a824 100644 --- a/test/lit/passes/local-cse.wast +++ b/test/lit/passes/local-cse.wast @@ -266,20 +266,21 @@ ) ;; CHECK: (func $loads + ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: (local.tee $0 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $loads - ;; The possible trap on loads prevents optimization. - ;; TODO: optimize that too + ;; The possible trap on loads does not prevent optimization, since if we + ;; trap then it doesn't matter that we replaced the later expression. (drop (i32.load (i32.const 10)) ) |