summaryrefslogtreecommitdiff
path: root/test/passes/post-assemblyscript.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/passes/post-assemblyscript.wast')
-rw-r--r--test/passes/post-assemblyscript.wast342
1 files changed, 0 insertions, 342 deletions
diff --git a/test/passes/post-assemblyscript.wast b/test/passes/post-assemblyscript.wast
deleted file mode 100644
index c79bfe1d9..000000000
--- a/test/passes/post-assemblyscript.wast
+++ /dev/null
@@ -1,342 +0,0 @@
-;; OptimizeARC part of assemblyscript/tests/compiler/rc/optimize
-;; with flattening applied manually
-(module
- (import "rt" "retain" (func $~lib/rt/pure/__retain (param i32) (result i32)))
- (import "rt" "release" (func $~lib/rt/pure/__release (param i32)))
- (func $eliminates.linearArgument (param $0 i32)
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- )
- (func $eliminates.linearLocal (param $0 i32)
- (local $1 i32)
- (local.set $1
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $1)
- )
- )
- (func $eliminates.linearChain (param $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local.set $1
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (local.set $2
- (call $~lib/rt/pure/__retain
- (local.get $1)
- )
- )
- (local.set $3
- (call $~lib/rt/pure/__retain
- (local.get $2)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $3)
- )
- (call $~lib/rt/pure/__release
- (local.get $2)
- )
- (call $~lib/rt/pure/__release
- (local.get $1)
- )
- )
- (func $eliminates.balancedReleases (param $0 i32) (param $cond i32)
- (local $2 i32)
- (local.set $2
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (if
- (local.get $cond)
- (call $~lib/rt/pure/__release
- (local.get $2)
- )
- (call $~lib/rt/pure/__release
- (local.get $2)
- )
- )
- )
- (func $eliminates.partialReleases (param $0 i32) (param $cond i32)
- ;; technically invalid but assumed to be never emitted
- (local $2 i32)
- (local.set $2
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (if
- (local.get $cond)
- (call $~lib/rt/pure/__release
- (local.get $2)
- )
- )
- )
- (func $eliminates.balancedRetains (param $0 i32) (param $cond1 i32) (param $cond2 i32)
- (local $3 i32)
- (if
- (local.get $cond1)
- (if
- (local.get $cond2)
- (local.set $3
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (local.set $3
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- )
- (local.set $3
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $3)
- )
- )
- (func $eliminates.balancedInsideLoop (param $0 i32) (param $cond i32)
- (local $flat i32)
- (block $break|0
- (loop $continue|0
- (local.set $flat
- (i32.eqz
- (local.get $cond)
- )
- )
- (br_if $break|0
- (local.get $flat)
- )
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (br $continue|0)
- )
- (unreachable)
- )
- )
- (func $eliminates.balancedOutsideLoop (param $0 i32) (param $cond i32)
- (local $flat i32)
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (block $break|0
- (loop $continue|0
- (local.set $flat
- (i32.eqz
- (local.get $cond)
- )
- )
- (br_if $break|0
- (local.get $flat)
- )
- (br $continue|0)
- )
- (unreachable)
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- )
- (func $eliminates.balancedInsideOutsideLoop (param $0 i32) (param $cond i32)
- (local $flat i32)
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (block $break|0
- (loop $continue|0
- (local.set $flat
- (i32.eqz
- (local.get $cond)
- )
- )
- (br_if $break|0
- (local.get $flat)
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (br $continue|0)
- )
- (unreachable)
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- )
- (func $eliminates.balancedInsideOutsideLoopWithBranch (param $0 i32) (param $cond1 i32) (param $cond2 i32)
- (local $flat i32)
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (block $break|0
- (loop $continue|0
- (local.set $flat
- (i32.eqz
- (local.get $cond1)
- )
- )
- (br_if $break|0
- (local.get $flat)
- )
- (if
- (local.get $cond2)
- (block
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (return)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (br $continue|0)
- )
- (unreachable)
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- )
- (func $eliminates.replace (param $0 i32) (param $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (local.set $1
- (call $~lib/rt/pure/__retain
- (local.get $1)
- )
- )
- ;; flat
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- ;; /flat
- (if
- (i32.ne
- (local.get $2) ;; flat (local.tee $2 (local.get $1))
- (local.get $3) ;; flat (local.tee $3 (local.get $0))
- )
- (local.set $2
- (call $~lib/rt/pure/__retain
- (local.get $2)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $3)
- )
- )
- (local.set $0
- (local.get $2)
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (call $~lib/rt/pure/__release
- (local.get $1)
- )
- )
- (import "rc" "getRetainedRef" (func $getRetainedRef (result i32)))
- (func $eliminates.replaceAlreadyRetained (param $0 i32) (result i32)
- (local $1 i32)
- (block
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (local.set $1
- (call $getRetainedRef)
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (local.set $0
- (local.get $1)
- )
- (return
- (local.get $0)
- )
- )
- )
- (func $keeps.partialRetains (param $0 i32) (param $cond i32)
- (if
- (local.get $cond)
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- )
- (func $keeps.reachesReturn (param $0 i32) (param $cond i32) (result i32)
- (block
- (local.set $0
- (call $~lib/rt/pure/__retain
- (local.get $0)
- )
- )
- (if
- (local.get $cond)
- (return
- (local.get $0)
- )
- )
- (call $~lib/rt/pure/__release
- (local.get $0)
- )
- (return
- (i32.const 0)
- )
- )
- )
-)