diff options
Diffstat (limited to 'test/llvm_autogenerated/userstack.s')
-rw-r--r-- | test/llvm_autogenerated/userstack.s | 168 |
1 files changed, 119 insertions, 49 deletions
diff --git a/test/llvm_autogenerated/userstack.s b/test/llvm_autogenerated/userstack.s index c82990478..5f45d3208 100644 --- a/test/llvm_autogenerated/userstack.s +++ b/test/llvm_autogenerated/userstack.s @@ -10,13 +10,13 @@ alloca32: i32.const $push3=, 16 i32.sub $push9=, $pop2, $pop3 tee_local $push8=, $0=, $pop9 - i32.store $drop=, __stack_pointer($pop4), $pop8 + i32.store __stack_pointer($pop4), $pop8 i32.const $push0=, 0 - i32.store $drop=, 12($0), $pop0 + i32.store 12($0), $pop0 i32.const $push7=, 0 i32.const $push5=, 16 i32.add $push6=, $0, $pop5 - i32.store $drop=, __stack_pointer($pop7), $pop6 + i32.store __stack_pointer($pop7), $pop6 return .endfunc .Lfunc_end0: @@ -32,9 +32,9 @@ alloca3264: i32.sub $push6=, $pop3, $pop4 tee_local $push5=, $0=, $pop6 i32.const $push0=, 0 - i32.store $drop=, 12($pop5), $pop0 + i32.store 12($pop5), $pop0 i64.const $push1=, 0 - i64.store $drop=, 0($0), $pop1 + i64.store 0($0), $pop1 return .endfunc .Lfunc_end1: @@ -50,17 +50,17 @@ allocarray: i32.const $push5=, 144 i32.sub $push12=, $pop4, $pop5 tee_local $push11=, $0=, $pop12 - i32.store $drop=, __stack_pointer($pop6), $pop11 + i32.store __stack_pointer($pop6), $pop11 i32.const $push0=, 24 i32.add $push1=, $0, $pop0 i32.const $push2=, 1 - i32.store $drop=, 0($pop1), $pop2 + i32.store 0($pop1), $pop2 i32.const $push10=, 1 - i32.store $drop=, 12($0), $pop10 + i32.store 12($0), $pop10 i32.const $push9=, 0 i32.const $push7=, 144 i32.add $push8=, $0, $pop7 - i32.store $drop=, __stack_pointer($pop9), $pop8 + i32.store __stack_pointer($pop9), $pop8 return .endfunc .Lfunc_end2: @@ -77,18 +77,18 @@ non_mem_use: i32.const $push2=, 48 i32.sub $push12=, $pop1, $pop2 tee_local $push11=, $1=, $pop12 - i32.store $drop=, __stack_pointer($pop3), $pop11 + i32.store __stack_pointer($pop3), $pop11 i32.const $push7=, 8 i32.add $push8=, $1, $pop7 call ext_func@FUNCTION, $pop8 call ext_func@FUNCTION, $1 i32.const $push9=, 16 i32.add $push10=, $1, $pop9 - i32.store $drop=, 0($0), $pop10 + i32.store 0($0), $pop10 i32.const $push6=, 0 i32.const $push4=, 48 i32.add $push5=, $1, $pop4 - i32.store $drop=, __stack_pointer($pop6), $pop5 + i32.store __stack_pointer($pop6), $pop5 return .endfunc .Lfunc_end3: @@ -104,17 +104,17 @@ allocarray_inbounds: i32.const $push4=, 32 i32.sub $push11=, $pop3, $pop4 tee_local $push10=, $0=, $pop11 - i32.store $drop=, __stack_pointer($pop5), $pop10 + i32.store __stack_pointer($pop5), $pop10 i32.const $push0=, 1 - i32.store $drop=, 24($0), $pop0 + i32.store 24($0), $pop0 i32.const $push9=, 1 - i32.store $drop=, 12($0), $pop9 + i32.store 12($0), $pop9 i32.const $push1=, 0 call ext_func@FUNCTION, $pop1 i32.const $push8=, 0 i32.const $push6=, 32 i32.add $push7=, $0, $pop6 - i32.store $drop=, __stack_pointer($pop8), $pop7 + i32.store __stack_pointer($pop8), $pop7 return .endfunc .Lfunc_end4: @@ -138,11 +138,11 @@ dynamic_alloca: i32.sub $push12=, $pop13, $pop5 tee_local $push11=, $0=, $pop12 copy_local $push10=, $pop11 - i32.store $drop=, __stack_pointer($pop6), $pop10 + i32.store __stack_pointer($pop6), $pop10 call ext_func_i32@FUNCTION, $0 i32.const $push8=, 0 copy_local $push9=, $1 - i32.store $drop=, __stack_pointer($pop8), $pop9 + i32.store __stack_pointer($pop8), $pop9 return .endfunc .Lfunc_end5: @@ -167,7 +167,7 @@ dynamic_alloca_redzone: tee_local $push8=, $0=, $pop9 copy_local $drop=, $pop8 i32.const $push6=, 0 - i32.store $drop=, 0($0), $pop6 + i32.store 0($0), $pop6 return .endfunc .Lfunc_end6: @@ -177,36 +177,106 @@ dynamic_alloca_redzone: .type dynamic_static_alloca,@function dynamic_static_alloca: .param i32 - .local i32 + .local i32, i32, i32 + i32.const $push16=, 0 + i32.const $push13=, 0 + i32.load $push14=, __stack_pointer($pop13) + i32.const $push15=, 16 + i32.sub $push32=, $pop14, $pop15 + tee_local $push31=, $2=, $pop32 + i32.store __stack_pointer($pop16), $pop31 + copy_local $push30=, $2 + tee_local $push29=, $1=, $pop30 + i32.const $push0=, 101 + i32.store 12($pop29), $pop0 i32.const $push11=, 0 - i32.const $push8=, 0 - i32.load $push9=, __stack_pointer($pop8) - i32.const $push10=, 16 - i32.sub $push20=, $pop9, $pop10 - tee_local $push19=, $1=, $pop20 - i32.store $drop=, __stack_pointer($pop11), $pop19 + i32.const $push1=, 2 + i32.shl $push2=, $0, $pop1 + i32.const $push3=, 15 + i32.add $push4=, $pop2, $pop3 + i32.const $push5=, -16 + i32.and $push28=, $pop4, $pop5 + tee_local $push27=, $0=, $pop28 + i32.sub $push26=, $2, $pop27 + tee_local $push25=, $2=, $pop26 + copy_local $push24=, $pop25 + tee_local $push23=, $3=, $pop24 + i32.store __stack_pointer($pop11), $pop23 + i32.const $push6=, 102 + i32.store 12($1), $pop6 + i32.const $push7=, 103 + i32.store 0($2), $pop7 + i32.const $push12=, 0 + i32.sub $push22=, $3, $0 + tee_local $push21=, $0=, $pop22 + copy_local $push20=, $pop21 + i32.store __stack_pointer($pop12), $pop20 + i32.const $push8=, 104 + i32.store 12($1), $pop8 + i32.const $push9=, 105 + i32.store 0($2), $pop9 + i32.const $push10=, 106 + i32.store 0($0), $pop10 + i32.const $push19=, 0 + i32.const $push17=, 16 + i32.add $push18=, $1, $pop17 + i32.store __stack_pointer($pop19), $pop18 + return + .endfunc +.Lfunc_end7: + .size dynamic_static_alloca, .Lfunc_end7-dynamic_static_alloca + + .globl llvm_stack_builtins + .type llvm_stack_builtins,@function +llvm_stack_builtins: + .param i32 + .local i32, i32, i32 i32.const $push7=, 0 + i32.load $push11=, __stack_pointer($pop7) + tee_local $push10=, $3=, $pop11 + copy_local $2=, $pop10 + copy_local $1=, $3 + i32.const $push6=, 0 i32.const $push0=, 2 i32.shl $push1=, $0, $pop0 i32.const $push2=, 15 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -16 i32.and $push5=, $pop3, $pop4 - i32.sub $push18=, $1, $pop5 - tee_local $push17=, $0=, $pop18 - copy_local $push16=, $pop17 - i32.store $drop=, __stack_pointer($pop7), $pop16 + i32.sub $push9=, $3, $pop5 + i32.store __stack_pointer($pop6), $pop9 + copy_local $drop=, $1 + i32.const $push8=, 0 + i32.store __stack_pointer($pop8), $2 + return + .endfunc +.Lfunc_end8: + .size llvm_stack_builtins, .Lfunc_end8-llvm_stack_builtins + + .globl dynamic_alloca_nouse + .type dynamic_alloca_nouse,@function +dynamic_alloca_nouse: + .param i32 + .local i32, i32 + i32.const $push7=, 0 + i32.load $push11=, __stack_pointer($pop7) + tee_local $push10=, $2=, $pop11 + copy_local $1=, $pop10 i32.const $push6=, 0 - i32.store $drop=, 0($0), $pop6 - i32.const $push14=, 0 - copy_local $push15=, $1 - i32.const $push12=, 16 - i32.add $push13=, $pop15, $pop12 - i32.store $drop=, __stack_pointer($pop14), $pop13 + i32.const $push0=, 2 + i32.shl $push1=, $0, $pop0 + i32.const $push2=, 15 + i32.add $push3=, $pop1, $pop2 + i32.const $push4=, -16 + i32.and $push5=, $pop3, $pop4 + i32.sub $push9=, $2, $pop5 + i32.store __stack_pointer($pop6), $pop9 + i32.const $push8=, 0 + i32.store __stack_pointer($pop8), $1 return .endfunc -.Lfunc_end7: - .size dynamic_static_alloca, .Lfunc_end7-dynamic_static_alloca +.Lfunc_end9: + .size dynamic_alloca_nouse, .Lfunc_end9-dynamic_alloca_nouse .globl copytoreg_fi .type copytoreg_fi,@function @@ -222,17 +292,17 @@ copytoreg_fi: copy_local $2=, $pop4 i32.const $push6=, 1 i32.and $0=, $0, $pop6 -.LBB8_1: +.LBB10_1: loop i32.const $push7=, 1 - i32.store $drop=, 0($2), $pop7 + i32.store 0($2), $pop7 copy_local $2=, $1 br_if 0, $0 end_loop return .endfunc -.Lfunc_end8: - .size copytoreg_fi, .Lfunc_end8-copytoreg_fi +.Lfunc_end10: + .size copytoreg_fi, .Lfunc_end10-copytoreg_fi .globl frameaddress_0 .type frameaddress_0,@function @@ -244,11 +314,11 @@ frameaddress_0: tee_local $push3=, $0=, $pop4 call use_i8_star@FUNCTION, $pop3 i32.const $push1=, 0 - i32.store $drop=, __stack_pointer($pop1), $0 + i32.store __stack_pointer($pop1), $0 return .endfunc -.Lfunc_end9: - .size frameaddress_0, .Lfunc_end9-frameaddress_0 +.Lfunc_end11: + .size frameaddress_0, .Lfunc_end11-frameaddress_0 .globl frameaddress_1 .type frameaddress_1,@function @@ -257,8 +327,8 @@ frameaddress_1: call use_i8_star@FUNCTION, $pop0 return .endfunc -.Lfunc_end10: - .size frameaddress_1, .Lfunc_end10-frameaddress_1 +.Lfunc_end12: + .size frameaddress_1, .Lfunc_end12-frameaddress_1 .globl inline_asm .type inline_asm,@function @@ -276,8 +346,8 @@ inline_asm: #NO_APP return .endfunc -.Lfunc_end11: - .size inline_asm, .Lfunc_end11-inline_asm +.Lfunc_end13: + .size inline_asm, .Lfunc_end13-inline_asm .functype ext_func, void, i32 |