blob: 6de35b471d0a74c27191936981a02be5208b8281 [file] [log] [blame] [edit]
;; FinalizeARC part of assemblyscript/tests/compiler/rc/optimize
(module
(import "rt" "retain" (func $~lib/rt/pure/__retain (param i32) (result i32)))
(import "rt" "release" (func $~lib/rt/pure/__release (param i32)))
(import "rt" "alloc" (func $~lib/rt/tlsf/__alloc (param i32) (param i32) (result i32)))
(func $eliminates.unnecessaryAllocation
(call $~lib/rt/pure/__release
(call $~lib/rt/pure/__retain
(call $~lib/rt/tlsf/__alloc
(i32.const 1)
(i32.const 0)
)
)
)
)
(func $eliminates.unnecessaryPair (param $0 i32)
(call $~lib/rt/pure/__release
(call $~lib/rt/pure/__retain
(local.get $0)
)
)
)
(func $eliminates.unnecessaryStaticPair
(call $~lib/rt/pure/__release
(call $~lib/rt/pure/__retain
(i32.const 272)
)
)
)
(func $eliminates.unnecessaryStaticRetain
(drop
(call $~lib/rt/pure/__retain
(i32.const 272)
)
)
)
(func $eliminates.unnecessaryStaticRelease
(call $~lib/rt/pure/__release
(i32.const 272)
)
)
(func $keeps.dynamicRetain (param $0 i32)
(local.set $0
(call $~lib/rt/pure/__retain
(local.get $0)
)
)
)
(func $keeps.dynamicRelease (param $0 i32)
(call $~lib/rt/pure/__release
(local.get $0)
)
)
)