summaryrefslogtreecommitdiff
path: root/test/lit/passes/local-cse.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit/passes/local-cse.wast')
-rw-r--r--test/lit/passes/local-cse.wast15
1 files changed, 8 insertions, 7 deletions
diff --git a/test/lit/passes/local-cse.wast b/test/lit/passes/local-cse.wast
index a5e90adf1..c0e4c9b59 100644
--- a/test/lit/passes/local-cse.wast
+++ b/test/lit/passes/local-cse.wast
@@ -447,20 +447,17 @@
(global $other-glob (mut i32) (i32.const 1))
;; CHECK: (func $global
- ;; CHECK-NEXT: (local $0 i32)
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.tee $0
- ;; CHECK-NEXT: (global.get $glob)
- ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.get $glob)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (global.get $glob)
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $other-glob
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (global.get $glob)
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $glob
;; CHECK-NEXT: (i32.const 200)
@@ -470,7 +467,11 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $global
- ;; We should optimize redundant global.get operations.
+ ;; We should not optimize redundant global.get operations: they are of size
+ ;; 1 (no children), and so we may end up increasing code size here for
+ ;; unclear benefit. The benefit is unclear since VMs already do GVN/CSE
+ ;; themselves, and so we focus on things of size 2 and above, where we
+ ;; definitely reduce code size at least.
(drop (global.get $glob))
(drop (global.get $glob))
;; We can do it past a write to another global