2 .file "/s/llvm-upstream/llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll"
5 .type exception,@function
6 exception: # @exception
11 i32.store __THREW__($pop8), $pop7
12 i32.const $push0=, foo@FUNCTION
13 call __invoke_void@FUNCTION, $pop0
15 i32.load $0=, __THREW__($pop6)
18 i32.store __THREW__($pop5), $pop4
21 i32.ne $push2=, $0, $pop1
22 br_if 0, $pop2 # 0: down to label0
25 i32.call $push3=, __cxa_find_matching_catch_3@FUNCTION, $pop9
26 i32.call $drop=, __cxa_begin_catch@FUNCTION, $pop3
27 call __cxa_end_catch@FUNCTION
33 .size exception, .Lfunc_end0-exception
35 .hidden setjmp_longjmp
37 .type setjmp_longjmp,@function
38 setjmp_longjmp: # @setjmp_longjmp
43 i32.load $push2=, __stack_pointer($pop1)
44 i32.const $push3=, 160
45 i32.sub $push6=, $pop2, $pop3
46 tee_local $push5=, $0=, $pop6
47 i32.store __stack_pointer($pop4), $pop5
48 i32.call $drop=, setjmp@FUNCTION, $0
50 call longjmp@FUNCTION, $0, $pop0
54 .size setjmp_longjmp, .Lfunc_end1-setjmp_longjmp
57 .type setThrew,@function
63 i32.load $push0=, __THREW__($pop1)
64 br_if 0, $pop0 # 0: down to label1
67 i32.store __threwValue($pop3), $1
69 i32.store __THREW__($pop2), $0
75 .size setThrew, .Lfunc_end2-setThrew
78 .type setTempRet0,@function
79 setTempRet0: # @setTempRet0
83 i32.store __tempRet0($pop0), $0
87 .size setTempRet0, .Lfunc_end3-setTempRet0
89 .type __THREW__,@object # @__THREW__
97 .type __threwValue,@object # @__threwValue
102 .size __threwValue, 4
104 .type __tempRet0,@object # @__tempRet0
113 .functype __gxx_personality_v0, i32
114 .functype __cxa_begin_catch, i32, i32
115 .functype __cxa_end_catch, void
116 .functype setjmp, i32, i32
117 .functype longjmp, void, i32, i32
118 .functype malloc, i32, i32
119 .functype free, void, i32
120 .functype __resumeException, void, i32
121 .functype llvm_eh_typeid_for, i32, i32
122 .functype __invoke_void, void, i32
123 .functype __cxa_find_matching_catch_3, i32, i32