blob: 0796a01d3c31f0da52b1c47ca5611e140ef4a54a [file] [log] [blame]
.text
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
# BB#0: # %entry
block
i32.const $push0=, 0
i32.load $push1=, last_fn_entered($pop0)
i32.const $push2=, foo@FUNCTION
i32.ne $push3=, $pop1, $pop2
br_if 0, $pop3 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.section .text.nfoo,"ax",@progbits
.hidden nfoo
.globl nfoo
.type nfoo,@function
nfoo: # @nfoo
# BB#0: # %entry
block
i32.const $push19=, 0
i32.load $push1=, entry_calls($pop19)
i32.const $push18=, 2
i32.ne $push2=, $pop1, $pop18
br_if 0, $pop2 # 0: down to label1
# BB#1: # %entry
i32.const $push21=, 0
i32.load $push0=, exit_calls($pop21)
i32.const $push20=, 2
i32.ne $push3=, $pop0, $pop20
br_if 0, $pop3 # 0: down to label1
# BB#2: # %if.end
i32.const $push22=, 0
i32.load $push4=, last_fn_entered($pop22)
i32.const $push5=, foo@FUNCTION
i32.ne $push6=, $pop4, $pop5
br_if 0, $pop6 # 0: down to label1
# BB#3: # %if.end4
i32.const $push23=, 0
i32.load $push7=, last_fn_exited($pop23)
i32.const $push8=, foo2@FUNCTION
i32.ne $push9=, $pop7, $pop8
br_if 0, $pop9 # 0: down to label1
# BB#4: # %if.end7
call foo@FUNCTION
i32.const $push25=, 0
i32.load $push11=, entry_calls($pop25)
i32.const $push24=, 3
i32.ne $push12=, $pop11, $pop24
br_if 0, $pop12 # 0: down to label1
# BB#5: # %if.end7
i32.const $push27=, 0
i32.load $push10=, exit_calls($pop27)
i32.const $push26=, 3
i32.ne $push13=, $pop10, $pop26
br_if 0, $pop13 # 0: down to label1
# BB#6: # %if.end12
i32.const $push29=, 0
i32.load $push14=, last_fn_entered($pop29)
i32.const $push28=, foo@FUNCTION
i32.ne $push15=, $pop14, $pop28
br_if 0, $pop15 # 0: down to label1
# BB#7: # %if.end15
i32.const $push31=, 0
i32.load $push16=, last_fn_exited($pop31)
i32.const $push30=, foo@FUNCTION
i32.ne $push17=, $pop16, $pop30
br_if 0, $pop17 # 0: down to label1
# BB#8: # %if.end18
return
.LBB1_9: # %if.then17
end_block # label1:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
.size nfoo, .Lfunc_end1-nfoo
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
# BB#0: # %entry
block
i32.const $push21=, 0
i32.load $push1=, exit_calls($pop21)
i32.const $push20=, 0
i32.load $push0=, entry_calls($pop20)
i32.or $push2=, $pop1, $pop0
br_if 0, $pop2 # 0: down to label2
# BB#1: # %if.end
call foo2@FUNCTION
i32.const $push23=, 0
i32.load $push4=, entry_calls($pop23)
i32.const $push22=, 2
i32.ne $push5=, $pop4, $pop22
br_if 0, $pop5 # 0: down to label2
# BB#2: # %if.end
i32.const $push25=, 0
i32.load $push3=, exit_calls($pop25)
i32.const $push24=, 2
i32.ne $push6=, $pop3, $pop24
br_if 0, $pop6 # 0: down to label2
# BB#3: # %if.end6
i32.const $push26=, 0
i32.load $push7=, last_fn_entered($pop26)
i32.const $push8=, foo@FUNCTION
i32.ne $push9=, $pop7, $pop8
br_if 0, $pop9 # 0: down to label2
# BB#4: # %if.end9
i32.const $push27=, 0
i32.load $push10=, last_fn_exited($pop27)
i32.const $push11=, foo2@FUNCTION
i32.ne $push12=, $pop10, $pop11
br_if 0, $pop12 # 0: down to label2
# BB#5: # %if.end12
call nfoo@FUNCTION
i32.const $push29=, 0
i32.load $push14=, entry_calls($pop29)
i32.const $push28=, 3
i32.ne $push15=, $pop14, $pop28
br_if 0, $pop15 # 0: down to label2
# BB#6: # %if.end12
i32.const $push31=, 0
i32.load $push13=, exit_calls($pop31)
i32.const $push30=, 3
i32.ne $push16=, $pop13, $pop30
br_if 0, $pop16 # 0: down to label2
# BB#7: # %if.end17
i32.const $push32=, 0
i32.load $push17=, last_fn_entered($pop32)
i32.const $push18=, foo@FUNCTION
i32.ne $push19=, $pop17, $pop18
br_if 0, $pop19 # 0: down to label2
# BB#8: # %if.end20
i32.const $push33=, 0
return $pop33
.LBB2_9: # %if.then19
end_block # label2:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
.section .text.__cyg_profile_func_enter,"ax",@progbits
.hidden __cyg_profile_func_enter
.globl __cyg_profile_func_enter
.type __cyg_profile_func_enter,@function
__cyg_profile_func_enter: # @__cyg_profile_func_enter
.param i32, i32
# BB#0: # %entry
i32.const $push0=, 0
i32.store last_fn_entered($pop0), $0
i32.const $push5=, 0
i32.const $push4=, 0
i32.load $push1=, entry_calls($pop4)
i32.const $push2=, 1
i32.add $push3=, $pop1, $pop2
i32.store entry_calls($pop5), $pop3
# fallthrough-return
.endfunc
.Lfunc_end3:
.size __cyg_profile_func_enter, .Lfunc_end3-__cyg_profile_func_enter
.section .text.__cyg_profile_func_exit,"ax",@progbits
.hidden __cyg_profile_func_exit
.globl __cyg_profile_func_exit
.type __cyg_profile_func_exit,@function
__cyg_profile_func_exit: # @__cyg_profile_func_exit
.param i32, i32
# BB#0: # %entry
i32.const $push0=, 0
i32.store last_fn_exited($pop0), $0
i32.const $push5=, 0
i32.const $push4=, 0
i32.load $push1=, exit_calls($pop4)
i32.const $push2=, 1
i32.add $push3=, $pop1, $pop2
i32.store exit_calls($pop5), $pop3
# fallthrough-return
.endfunc
.Lfunc_end4:
.size __cyg_profile_func_exit, .Lfunc_end4-__cyg_profile_func_exit
.section .text.foo2,"ax",@progbits
.type foo2,@function
foo2: # @foo2
# BB#0: # %entry
block
i32.const $push17=, 0
i32.load $push1=, entry_calls($pop17)
i32.const $push2=, 1
i32.ne $push3=, $pop1, $pop2
br_if 0, $pop3 # 0: down to label3
# BB#1: # %entry
i32.const $push18=, 0
i32.load $push0=, exit_calls($pop18)
br_if 0, $pop0 # 0: down to label3
# BB#2: # %if.end
i32.const $push19=, 0
i32.load $push4=, last_fn_entered($pop19)
i32.const $push5=, foo2@FUNCTION
i32.ne $push6=, $pop4, $pop5
br_if 0, $pop6 # 0: down to label3
# BB#3: # %if.end4
call foo@FUNCTION
i32.const $push20=, 0
i32.load $push8=, entry_calls($pop20)
i32.const $push9=, 2
i32.ne $push10=, $pop8, $pop9
br_if 0, $pop10 # 0: down to label3
# BB#4: # %if.end4
i32.const $push21=, 0
i32.load $push7=, exit_calls($pop21)
i32.const $push11=, 1
i32.ne $push12=, $pop7, $pop11
br_if 0, $pop12 # 0: down to label3
# BB#5: # %if.end9
i32.const $push23=, 0
i32.load $push13=, last_fn_entered($pop23)
i32.const $push22=, foo@FUNCTION
i32.ne $push14=, $pop13, $pop22
br_if 0, $pop14 # 0: down to label3
# BB#6: # %if.end12
i32.const $push25=, 0
i32.load $push15=, last_fn_exited($pop25)
i32.const $push24=, foo@FUNCTION
i32.ne $push16=, $pop15, $pop24
br_if 0, $pop16 # 0: down to label3
# BB#7: # %if.end15
return
.LBB5_8: # %if.then14
end_block # label3:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end5:
.size foo2, .Lfunc_end5-foo2
.hidden last_fn_entered # @last_fn_entered
.type last_fn_entered,@object
.section .bss.last_fn_entered,"aw",@nobits
.globl last_fn_entered
.p2align 2
last_fn_entered:
.int32 0
.size last_fn_entered, 4
.hidden entry_calls # @entry_calls
.type entry_calls,@object
.section .bss.entry_calls,"aw",@nobits
.globl entry_calls
.p2align 2
entry_calls:
.int32 0 # 0x0
.size entry_calls, 4
.hidden exit_calls # @exit_calls
.type exit_calls,@object
.section .bss.exit_calls,"aw",@nobits
.globl exit_calls
.p2align 2
exit_calls:
.int32 0 # 0x0
.size exit_calls, 4
.hidden last_fn_exited # @last_fn_exited
.type last_fn_exited,@object
.section .bss.last_fn_exited,"aw",@nobits
.globl last_fn_exited
.p2align 2
last_fn_exited:
.int32 0
.size last_fn_exited, 4
.functype abort, void