blob: d0fd9f1b2fc5623505ef09b9b0f6cb7d7c9b5bd4 [file] [log] [blame]
.text
.section .text.try_a,"ax",@progbits
.hidden try_a
.globl try_a
.type try_a,@function
try_a: # @try_a
.param i32
.result i32
.local i32
# BB#0: # %entry
i32.const $push6=, 0
i32.const $push3=, 0
i32.load $push4=, __stack_pointer($pop3)
i32.const $push5=, 16
i32.sub $push13=, $pop4, $pop5
tee_local $push12=, $1=, $pop13
i32.store __stack_pointer($pop6), $pop12
i32.const $push0=, 0
i32.store 12($1), $pop0
i32.store 8($1), $0
i32.const $push10=, 8
i32.add $push11=, $1, $pop10
i32.const $push1=, 1
i32.or $push2=, $pop11, $pop1
i32.call $0=, check_a@FUNCTION, $pop2
i32.const $push9=, 0
i32.const $push7=, 16
i32.add $push8=, $1, $pop7
i32.store __stack_pointer($pop9), $pop8
copy_local $push14=, $0
# fallthrough-return: $pop14
.endfunc
.Lfunc_end0:
.size try_a, .Lfunc_end0-try_a
.section .text.check_a,"ax",@progbits
.hidden check_a
.globl check_a
.type check_a,@function
check_a: # @check_a
.param i32
.result i32
.local i32
# BB#0: # %entry
i32.const $1=, -1
block
i32.const $push5=, -1
i32.add $push0=, $0, $pop5
i32.load $push1=, 0($pop0)
i32.const $push2=, 42
i32.ne $push3=, $pop1, $pop2
br_if 0, $pop3 # 0: down to label0
# BB#1: # %land.lhs.true
i32.load $push4=, 3($0)
br_if 0, $pop4 # 0: down to label0
# BB#2:
i32.const $1=, 0
.LBB1_3: # %cleanup
end_block # label0:
copy_local $push6=, $1
# fallthrough-return: $pop6
.endfunc
.Lfunc_end1:
.size check_a, .Lfunc_end1-check_a
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
# BB#0: # %entry
block
i32.const $push0=, 42
i32.call $push1=, try_a@FUNCTION, $pop0
i32.const $push2=, -1
i32.le_s $push3=, $pop1, $pop2
br_if 0, $pop3 # 0: down to label1
# BB#1: # %if.end
i32.const $push4=, 0
return $pop4
.LBB2_2: # %if.then
end_block # label1:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
.functype abort, void