xref: /llvm-project/bolt/test/X86/Inputs/infer_no_exits.s (revision 753498eed1d2d6d8c419bae5b65458640e5fbfd7)
1	.text
2	.file	"infer_no_exits.cpp"
3	.globl	_Z3fooi                         # -- Begin function _Z3fooi
4	.p2align	4, 0x90
5	.type	_Z3fooi,@function
6_Z3fooi:                                # @_Z3fooi
7.Lfunc_begin0:
8	.cfi_startproc
9	.cfi_personality 155, DW.ref.__gxx_personality_v0
10	.cfi_lsda 27, .Lexception0
11# %bb.0:                                # %entry
12	pushq	%rbp
13	.cfi_def_cfa_offset 16
14	.cfi_offset %rbp, -16
15	movq	%rsp, %rbp
16	.cfi_def_cfa_register %rbp
17	subq	$32, %rsp
18	movl	%edi, -4(%rbp)
19	cmpl	$0, -4(%rbp)
20	jne	.LBB0_4
21# %bb.1:                                # %if.then
22	movl	$16, %edi
23	callq	__cxa_allocate_exception@PLT
24	movq	%rax, %rdi
25	movq	%rdi, %rax
26	movq	%rax, -32(%rbp)                 # 8-byte Spill
27.Ltmp0:
28	leaq	.L.str(%rip), %rsi
29	callq	_ZNSt12out_of_rangeC1EPKc@PLT
30.Ltmp1:
31	jmp	.LBB0_2
32.LBB0_2:                                # %invoke.cont
33	movq	-32(%rbp), %rdi                 # 8-byte Reload
34	movq	_ZTISt12out_of_range@GOTPCREL(%rip), %rsi
35	movq	_ZNSt12out_of_rangeD1Ev@GOTPCREL(%rip), %rdx
36	callq	__cxa_throw@PLT
37.LBB0_3:                                # %lpad
38.Ltmp2:
39	movq	-32(%rbp), %rdi                 # 8-byte Reload
40	movq	%rax, %rcx
41	movl	%edx, %eax
42	movq	%rcx, -16(%rbp)
43	movl	%eax, -20(%rbp)
44	callq	__cxa_free_exception@PLT
45	jmp	.LBB0_5
46.LBB0_4:                                # %if.end
47	xorl	%eax, %eax
48	addq	$32, %rsp
49	popq	%rbp
50	.cfi_def_cfa %rsp, 8
51	retq
52.LBB0_5:                                # %eh.resume
53	.cfi_def_cfa %rbp, 16
54	movq	-16(%rbp), %rdi
55	callq	_Unwind_Resume@PLT
56.Lfunc_end0:
57	.size	_Z3fooi, .Lfunc_end0-_Z3fooi
58	.cfi_endproc
59	.section	.gcc_except_table,"a",@progbits
60	.p2align	2, 0x0
61GCC_except_table0:
62.Lexception0:
63	.byte	255                             # @LPStart Encoding = omit
64	.byte	255                             # @TType Encoding = omit
65	.byte	1                               # Call site Encoding = uleb128
66	.uleb128 .Lcst_end0-.Lcst_begin0
67.Lcst_begin0:
68	.uleb128 .Lfunc_begin0-.Lfunc_begin0    # >> Call Site 1 <<
69	.uleb128 .Ltmp0-.Lfunc_begin0           #   Call between .Lfunc_begin0 and .Ltmp0
70	.byte	0                               #     has no landing pad
71	.byte	0                               #   On action: cleanup
72	.uleb128 .Ltmp0-.Lfunc_begin0           # >> Call Site 2 <<
73	.uleb128 .Ltmp1-.Ltmp0                  #   Call between .Ltmp0 and .Ltmp1
74	.uleb128 .Ltmp2-.Lfunc_begin0           #     jumps to .Ltmp2
75	.byte	0                               #   On action: cleanup
76	.uleb128 .Ltmp1-.Lfunc_begin0           # >> Call Site 3 <<
77	.uleb128 .Lfunc_end0-.Ltmp1             #   Call between .Ltmp1 and .Lfunc_end0
78	.byte	0                               #     has no landing pad
79	.byte	0                               #   On action: cleanup
80.Lcst_end0:
81	.p2align	2, 0x0
82                                        # -- End function
83	.text
84	.globl	main                            # -- Begin function main
85	.p2align	4, 0x90
86	.type	main,@function
87main:                                   # @main
88.Lfunc_begin1:
89	.cfi_startproc
90	.cfi_personality 155, DW.ref.__gxx_personality_v0
91	.cfi_lsda 27, .Lexception1
92# %bb.0:                                # %entry
93	pushq	%rbp
94	.cfi_def_cfa_offset 16
95	.cfi_offset %rbp, -16
96	movq	%rsp, %rbp
97	.cfi_def_cfa_register %rbp
98	subq	$32, %rsp
99	movl	$0, -4(%rbp)
100	jmp	.Ltmp3
101.LBB1_2:                                # %lpad
102	movq	%rax, %rcx
103	movl	%edx, %eax
104	movq	%rcx, -16(%rbp)
105	movl	%eax, -20(%rbp)
106.Lcatch:
107# %bb.3:                                # %catch
108	movq	-16(%rbp), %rdi
109	callq	__cxa_begin_catch@PLT
110	callq	_ZSt9terminatev@PLT
111.Ltmp3:
112	xorl	%edi, %edi
113	callq	_Z3fooi
114	xorl	%eax, %eax
115	addq	$32, %rsp
116	popq	%rbp
117	.cfi_def_cfa %rsp, 8
118	retq
119.Lgarbage:
120
121.Lfunc_end1:
122	.size	main, .Lfunc_end1-main
123	.cfi_endproc
124	.section	.gcc_except_table,"a",@progbits
125	.p2align	2, 0x0
126GCC_except_table1:
127.Lexception1:
128	.byte	255                             # @LPStart Encoding = omit
129	.byte	155                             # @TType Encoding = indirect pcrel sdata4
130	.uleb128 .Lttbase0-.Lttbaseref0
131.Lttbaseref0:
132	.byte	1                               # Call site Encoding = uleb128
133	.uleb128 .Lcst_end1-.Lcst_begin1
134.Lcst_begin1:
135	.uleb128 .Ltmp3-.Lfunc_begin1           # >> Call Site 1 <<
136	.uleb128 .Lgarbage-.Ltmp3                  #   Call between .Ltmp3 and .Ltmp4
137	.uleb128 .LBB1_2-.Lfunc_begin1           #     jumps to .LBB1_2
138	.byte	1                               #   On action: 1
139	.uleb128 .Lcatch-.Lfunc_begin1           # >> Call Site 2 <<
140	.uleb128 .Lfunc_end1-.Ltmp3             #   Call between .Ltmp4 and .Lfunc_end1
141#	.uleb128 .LBB1_2-.Lfunc_begin1           #     jumps to .LBB1_2
142	.byte	0                               #   On action: cleanup
143	.byte	0                               #   On action: cleanup
144.Lcst_end1:
145	.byte	1                               # >> Action Record 1 <<
146                                        #   Catch TypeInfo 1
147	.byte	0                               #   No further actions
148	.p2align	2, 0x0
149                                        # >> Catch TypeInfos <<
150	.long	0                               # TypeInfo 1
151.Lttbase0:
152	.p2align	2, 0x0
153                                        # -- End function
154	.type	.L.str,@object                  # @.str
155	.section	.rodata.str1.1,"aMS",@progbits,1
156.L.str:
157	.asciz	"bad value"
158	.size	.L.str, 10
159
160	.hidden	DW.ref.__gxx_personality_v0
161	.weak	DW.ref.__gxx_personality_v0
162	.section	.data.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
163	.p2align	3, 0x0
164	.type	DW.ref.__gxx_personality_v0,@object
165	.section	".note.GNU-stack","",@progbits
166	.addrsig
167	.addrsig_sym _Z3fooi
168	.addrsig_sym __cxa_allocate_exception
169	.addrsig_sym __gxx_personality_v0
170	.addrsig_sym __cxa_free_exception
171	.addrsig_sym __cxa_throw
172	.addrsig_sym __cxa_begin_catch
173	.addrsig_sym _ZSt9terminatev
174	.addrsig_sym _Unwind_Resume
175	.addrsig_sym _ZTISt12out_of_range
176