summaryrefslogtreecommitdiff
path: root/test/unit.fromasm.imprecise
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit.fromasm.imprecise')
-rw-r--r--test/unit.fromasm.imprecise211
1 files changed, 200 insertions, 11 deletions
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index d38321636..aca0185a2 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -768,25 +768,214 @@
)
(get_local $1)
)
- (func $optimize_exprs_at_end (param $0 i32)
+ (func $relooperJumpThreading (param $0 i32) (result i32)
+ (block $jumpthreading$outer$0
+ (block $jumpthreading$inner$0
+ (if
+ (get_local $0)
+ (block
+ (call_import $h
+ (i32.const 0)
+ )
+ (br $jumpthreading$inner$0)
+ )
+ )
+ (br $jumpthreading$outer$0)
+ )
+ (call_import $h
+ (i32.const 1)
+ )
+ )
+ (call_import $h
+ (i32.const -1)
+ )
+ (block $jumpthreading$inner$1
+ (loop $while-in$1
+ (br_if $while-in$1
+ (i32.eqz
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (call_import $h
+ (i32.const 2)
+ )
+ (br $jumpthreading$inner$1)
+ )
+ )
+ (call_import $h
+ (i32.const 3)
+ )
+ (call_import $h
+ (i32.const -2)
+ )
+ (block $jumpthreading$outer$3
+ (block $jumpthreading$inner$3
+ (block $jumpthreading$outer$2
+ (block $jumpthreading$inner$2
+ (if
+ (get_local $0)
+ (block
+ (call_import $h
+ (i32.const 4)
+ )
+ (br_if $jumpthreading$inner$2
+ (i32.eq
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (br $jumpthreading$inner$3)
+ )
+ )
+ (br $jumpthreading$outer$2)
+ )
+ (call_import $h
+ (i32.const 5)
+ )
+ )
+ (br $jumpthreading$outer$3)
+ )
+ (call_import $h
+ (i32.const 6)
+ )
+ )
+ (call_import $h
+ (i32.const -3)
+ )
+ (block $jumpthreading$outer$5
+ (block $jumpthreading$inner$5
+ (block $jumpthreading$outer$4
+ (block $jumpthreading$inner$4
+ (if
+ (get_local $0)
+ (block
+ (call_import $h
+ (i32.const 7)
+ )
+ (br_if $jumpthreading$inner$4
+ (i32.eq
+ (get_local $0)
+ (i32.const 5)
+ )
+ )
+ (br $jumpthreading$inner$5)
+ )
+ )
+ (br $jumpthreading$outer$4)
+ )
+ (call_import $h
+ (i32.const 8)
+ )
+ (br_if $jumpthreading$inner$5
+ (i32.eq
+ (get_local $0)
+ (i32.const 6)
+ )
+ )
+ )
+ (br $jumpthreading$outer$5)
+ )
+ (call_import $h
+ (i32.const 9)
+ )
+ )
+ (call_import $h
+ (i32.const -4)
+ )
+ (block $jumpthreading$outer$6
+ (block $jumpthreading$inner$6
+ (if
+ (get_local $0)
+ (block
+ (call_import $h
+ (i32.const 10)
+ )
+ (br $jumpthreading$inner$6)
+ )
+ )
+ (br $jumpthreading$outer$6)
+ )
+ (call_import $h
+ (i32.const 11)
+ )
+ )
+ (call_import $h
+ (i32.const -5)
+ )
+ (block $jumpthreading$outer$8
+ (block $jumpthreading$inner$8
+ (block $jumpthreading$outer$7
+ (block $jumpthreading$inner$7
+ (if
+ (get_local $0)
+ (block
+ (call_import $h
+ (i32.const 12)
+ )
+ (br_if $jumpthreading$inner$7
+ (i32.eq
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ (br $jumpthreading$inner$8)
+ )
+ )
+ (br $jumpthreading$outer$7)
+ )
+ (call_import $h
+ (i32.const 13)
+ )
+ (br_if $jumpthreading$inner$8
+ (get_local $0)
+ )
+ )
+ (br $jumpthreading$outer$8)
+ )
+ (call_import $h
+ (i32.const 14)
+ )
+ )
+ (call_import $h
+ (i32.const -6)
+ )
+ (get_local $0)
+ )
+ (func $relooperJumpThreading__ZN4game14preloadweaponsEv
+ (local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
+ (local $4 i32)
(loop $while-in$1
- (block $while-out$0
- (br_if $while-out$0
- (get_local $1)
- )
- (br_if $while-in$1
- (i32.ne
- (get_local $2)
- (i32.const 1)
+ (block $jumpthreading$outer$1
+ (block $jumpthreading$inner$1
+ (if
+ (get_local $0)
+ (br_if $jumpthreading$inner$1
+ (i32.eqz
+ (get_local $1)
+ )
+ )
+ (br_if $jumpthreading$inner$1
+ (i32.eqz
+ (get_local $2)
+ )
+ )
)
+ (br $jumpthreading$outer$1)
)
- (set_local $3
- (i32.const 5)
+ (i32.store
+ (get_local $3)
+ (get_local $4)
)
)
+ (br $while-in$1)
)
)
)