brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 775a671 Raw
102 lines · plain
1// This is reduced test case for BOLT containing an internal call based on2// GetCoreDump (from google core dumper).3 4  .text5  .globl getCallback6  .type getCallback, %function7getCallback:8  .cfi_startproc9	pushq	%rbp10	movq	%rsp, %rbp11	pushq	%r1212	pushq	%rbx13	subq	$288, %rsp14	callq	.Lnext_instr15.Lnext_instr:16	popq	%rax17  addq  $17, %rax18	addq	$288, %rsp19	popq	%rbx20	popq	%r1221	popq	%rbp22	retq23.Lweird_callback:24  mov $0xDEADBEEF, %rax25  retq26  .cfi_endproc27 28 29// This one is inspired by:30//31//  e8 11 00 00 00  callq   17 <ListerThread+0x569>32//  0f 1f 84 00 00 00 00 00         nopl    (%rax,%rax)33//  48 c7 c0 0f 00 00 00    movq    $15, %rax34//  0f 05   syscall35//  58      popq    %rax36//37  .globl getCallback238  .type getCallback2, %function39getCallback2:40  .cfi_startproc41	pushq	%rbp42	movq	%rsp, %rbp43	pushq	%r1244	pushq	%rbx45	subq	$288, %rsp46  movq $3, %rbx47.Lheader:48  cmpq $0, %rbx49  jz .Lunwind50	callq	.Lbb51  nopl (%rax, %rax)52  mov $0xDEADBEEF, %rax53  retq54.Lunwind:55	addq	$288, %rsp56	popq	%rbx57	popq	%r1258  jmp .Lend59.Lbb:60	popq	%rax61  add $4, %rax62  decq %rbx63  jmp .Lheader64.Lend:65	popq	%rbp66	retq67  .cfi_endproc68 69// This case emulates pseudo-inlined functions found in Intel MKL library.70  .globl getCallback371  .type getCallback3, %function72getCallback3:73  .cfi_startproc74  pushq %rbp75  movq %rsp, %rbp76  callq getCallback_inlined77  jmp .L2end78  nop79getCallback_inlined:80	pushq	%rbp81	movq	%rsp, %rbp82	pushq	%r1283	pushq	%rbx84	subq	$288, %rsp85	callq	.L2next_instr86.L2next_instr:87	popq	%rax88  addq  $17, %rax89	addq	$288, %rsp90	popq	%rbx91	popq	%r1292	popq	%rbp93	retq94.L2weird_callback:95  mov $0xDEADBEEF, %rax96  retq97 98.L2end:99  popq %rbp100  retq101  .cfi_endproc102