xref: /llvm-project/bolt/test/X86/Inputs/unreachable.s (revision 87a57aada3a008d55344e9ac2be3c380bd1f71e9)
1.globl bar
2bar:
3	movq	$0, (%rbp)
4	movl	$4, %edi
5	call	__cxa_allocate_exception
6	movl	$0, (%rax)
7	movl	$0, %edx
8	movl	$_ZTIi, %esi
9	movq	%rax, %rdi
10	call	__cxa_throw
11  movq	$17, 8
12
13.globl	foo
14foo:
15.LFB1:
16	.cfi_startproc
17	.cfi_personality 0x3,__gxx_personality_v0
18	.cfi_lsda 0x3,.LLSDA1
19	pushq	%rbp
20	movq	%rsp, %rbp
21	pushq	%rbx
22	subq	$24, %rsp
23	movq	%rdi, -24(%rbp)
24  incq  -24(%rbp)
25  jmp   .L1
26  decq  (%rbp)
27.L1: incq  -24(%rbp)
28  cmpq  $2,-24(%rbp)
29  jne   .L3
30  jmp   .L4
31  decq  (%rbp)
32.L3: incq  -24(%rbp)
33.L4: incq  -24(%rbp)
34	movq	-24(%rbp), %rax
35	movq	%rax, %rdi
36.LEHB0:
37	call	bar
38.LEHE0:
39	movq	%rax, %rbx
40	.L5:
41	movq	%rbx, %rax
42	jmp	.L8
43.L7:
44	movq	%rax, %rdi
45	call	__cxa_begin_catch
46  incq  -24(%rbp)
47  jmp   .LP1
48  decq  (%rbp)
49.LP1: incq  -24(%rbp)
50  cmpq  $2,-24(%rbp)
51  jne   .LP2
52  jmp   .LP3
53  decq  (%rbp)
54.LP2: incq  -24(%rbp)
55.LP3: incq  -24(%rbp)
56	movq	-24(%rbp), %rbx
57.LEHB1:
58	call	__cxa_end_catch
59.LEHE1:
60	jmp	.L5
61.L8:
62	movq	-8(%rbp), %rbx
63	leave
64	.cfi_endproc
65
66.section	.gcc_except_table,"a",@progbits
67	.LLSDA1:
68	.byte	0xff
69	.byte	0x3
70	.uleb128 .LLSDATT1-.LLSDATTD1
71.LLSDATTD1:
72	.byte	0x1
73	.uleb128 .LLSDACSE1-.LLSDACSB1
74.LLSDACSB1:
75	.uleb128 .LEHB0-.LFB1
76	.uleb128 .LEHE0-.LEHB0
77	.uleb128 .L7-.LFB1
78	.uleb128 0x1
79	.LLSDACSE1:
80	.LLSDATT1:
81
82	.text
83	.globl	_start, function
84_start:
85	.cfi_startproc
86	ud2
87	.cfi_endproc
88