summaryrefslogtreecommitdiff
path: root/test/llvm_autogenerated/reg-stackify.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/llvm_autogenerated/reg-stackify.wast')
-rw-r--r--test/llvm_autogenerated/reg-stackify.wast127
1 files changed, 121 insertions, 6 deletions
diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast
index 3a367ac52..138634a67 100644
--- a/test/llvm_autogenerated/reg-stackify.wast
+++ b/test/llvm_autogenerated/reg-stackify.wast
@@ -1,7 +1,16 @@
(module
(memory 0 4294967295)
(type $FUNCSIG$v (func))
+ (type $FUNCSIG$vi (func (param i32)))
+ (type $FUNCSIG$vii (func (param i32 i32)))
+ (type $FUNCSIG$i (func (result i32)))
(import $evoke_side_effects "env" "evoke_side_effects")
+ (import $use_a "env" "use_a" (param i32))
+ (import $use_b "env" "use_b" (param i32))
+ (import $use_2 "env" "use_2" (param i32 i32))
+ (import $red "env" "red" (result i32))
+ (import $green "env" "green" (result i32))
+ (import $blue "env" "blue" (result i32))
(export "no0" $no0)
(export "no1" $no1)
(export "yes0" $yes0)
@@ -9,6 +18,10 @@
(export "stack_uses" $stack_uses)
(export "multiple_uses" $multiple_uses)
(export "stackify_store_across_side_effects" $stackify_store_across_side_effects)
+ (export "div_tree" $div_tree)
+ (export "simple_multiple_use" $simple_multiple_use)
+ (export "multiple_uses_in_same_insn" $multiple_uses_in_same_insn)
+ (export "commute" $commute)
(func $no0 (param $$0 i32) (param $$1 i32) (result i32)
(block $fake_return_waka123
(block
@@ -117,15 +130,14 @@
(local $$3 i32)
(block $fake_return_waka123
(block
- (set_local $$3
- (i32.load align=4
- (get_local $$2)
- )
- )
(block $label$0
(br_if
(i32.ge_u
- (get_local $$3)
+ (set_local $$3
+ (i32.load align=4
+ (get_local $$2)
+ )
+ )
(get_local $$1)
)
$label$0
@@ -166,5 +178,108 @@
)
)
)
+ (func $div_tree (param $$0 i32) (param $$1 i32) (param $$2 i32) (param $$3 i32) (param $$4 i32) (param $$5 i32) (param $$6 i32) (param $$7 i32) (param $$8 i32) (param $$9 i32) (param $$10 i32) (param $$11 i32) (param $$12 i32) (param $$13 i32) (param $$14 i32) (param $$15 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.div_s
+ (i32.div_s
+ (i32.div_s
+ (i32.div_s
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (i32.div_s
+ (get_local $$2)
+ (get_local $$3)
+ )
+ )
+ (i32.div_s
+ (i32.div_s
+ (get_local $$4)
+ (get_local $$5)
+ )
+ (i32.div_s
+ (get_local $$6)
+ (get_local $$7)
+ )
+ )
+ )
+ (i32.div_s
+ (i32.div_s
+ (i32.div_s
+ (get_local $$8)
+ (get_local $$9)
+ )
+ (i32.div_s
+ (get_local $$10)
+ (get_local $$11)
+ )
+ )
+ (i32.div_s
+ (i32.div_s
+ (get_local $$12)
+ (get_local $$13)
+ )
+ (i32.div_s
+ (get_local $$14)
+ (get_local $$15)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (func $simple_multiple_use (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (call_import $use_a
+ (set_local $$0
+ (i32.mul
+ (get_local $$1)
+ (get_local $$0)
+ )
+ )
+ )
+ (call_import $use_b
+ (get_local $$0)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $multiple_uses_in_same_insn (param $$0 i32) (param $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (call_import $use_2
+ (set_local $$0
+ (i32.mul
+ (get_local $$1)
+ (get_local $$0)
+ )
+ )
+ (get_local $$0)
+ )
+ (br $fake_return_waka123)
+ )
+ )
+ )
+ (func $commute (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.add
+ (i32.add
+ (call_import $red)
+ (call_import $green)
+ )
+ (call_import $blue)
+ )
+ )
+ )
+ )
+ )
)
;; METADATA: { "asmConsts": {},"staticBump": 4 }