56 lines · plain
1# RUN: yaml2obj -o %t.exe %p/Inputs/external_symbol.yaml2# RUN: llvm-bolt -o %t.original %t.exe3# RUN: llvm-objdump --macho --disassemble-all --no-print-imm-hex %t.original | FileCheck --check-prefix=ORIGINAL %s4 5# ORIGINAL: _main:6# ORIGINAL-NEXT: 100000f50: 55 pushq %rbp7# ORIGINAL-NEXT: 100000f51: 48 89 e5 movq %rsp, %rbp8# ORIGINAL-NEXT: 100000f54: 48 83 ec 20 subq $32, %rsp9# ORIGINAL-NEXT: 100000f58: c7 45 fc 00 00 00 00 movl $0, -4(%rbp)10# ORIGINAL-NEXT: 100000f5f: 89 7d f8 movl %edi, -8(%rbp)11# ORIGINAL-NEXT: 100000f62: 48 89 75 f0 movq %rsi, -16(%rbp)12# ORIGINAL-NEXT: 100000f66: 83 7d f8 01 cmpl $1, -8(%rbp)13# ORIGINAL-NEXT: 100000f6a: 7e 0a jle 0x100000f7614# ORIGINAL-NEXT: 100000f6c: e8 25 00 00 00 callq 0x100000f9615# ORIGINAL-NEXT: 100000f71: 89 45 fc movl %eax, -4(%rbp)16# ORIGINAL-NEXT: 100000f74: eb 10 jmp 0x100000f8617# ORIGINAL-NEXT: 100000f76: c7 45 ec 01 00 00 00 movl $1, -20(%rbp)18# ORIGINAL-NEXT: 100000f7d: 8b 45 ec movl -20(%rbp), %eax19# ORIGINAL-NEXT: 100000f80: 83 c0 02 addl $2, %eax20# ORIGINAL-NEXT: 100000f83: 89 45 fc movl %eax, -4(%rbp)21# ORIGINAL-NEXT: 100000f86: 8b 45 fc movl -4(%rbp), %eax22# ORIGINAL-NEXT: 100000f89: 48 83 c4 20 addq $32, %rsp23# ORIGINAL-NEXT: 100000f8d: 5d popq %rbp24# ORIGINAL-NEXT: 100000f8e: c3 retq25# ORIGINAL-NEXT: 100000f8f: fc cld26# ORIGINAL-NEXT: 100000f90: 48 83 c4 20 addq $32, %rsp27# ORIGINAL-NEXT: 100000f94: 5d popq %rbp28# ORIGINAL-NEXT: 100000f95: c3 retq29 30# RUN: llvm-bolt -o %t.reversed -reorder-blocks=reverse %t.exe31# RUN: llvm-objdump --macho --disassemble-all --no-print-imm-hex %t.reversed | FileCheck --check-prefix=REVERSED %s32 33# REVERSED: _main:34# REVERSED-NEXT: 100000f50: 55 pushq %rbp35# REVERSED-NEXT: 100000f51: 48 89 e5 movq %rsp, %rbp36# REVERSED-NEXT: 100000f54: 48 83 ec 20 subq $32, %rsp37# REVERSED-NEXT: 100000f58: c7 45 fc 00 00 00 00 movl $0, -4(%rbp)38# REVERSED-NEXT: 100000f5f: 89 7d f8 movl %edi, -8(%rbp)39# REVERSED-NEXT: 100000f62: 48 89 75 f0 movq %rsi, -16(%rbp)40# REVERSED-NEXT: 100000f66: 83 7d f8 01 cmpl $1, -8(%rbp)41# REVERSED-NEXT: 100000f6a: 7e 0b jle 0x100000f7742# REVERSED-NEXT: 100000f6c: eb 1b jmp 0x100000f8943# REVERSED-NEXT: 100000f6e: 8b 45 fc movl -4(%rbp), %eax44# REVERSED-NEXT: 100000f71: 48 83 c4 20 addq $32, %rsp45# REVERSED-NEXT: 100000f75: 5d popq %rbp46# REVERSED-NEXT: 100000f76: c3 retq47# REVERSED-NEXT: 100000f77: c7 45 ec 01 00 00 00 movl $1, -20(%rbp)48# REVERSED-NEXT: 100000f7e: 8b 45 ec movl -20(%rbp), %eax49# REVERSED-NEXT: 100000f81: 83 c0 02 addl $2, %eax50# REVERSED-NEXT: 100000f84: 89 45 fc movl %eax, -4(%rbp)51# REVERSED-NEXT: 100000f87: eb e5 jmp 0x100000f6e52# REVERSED-NEXT: 100000f89: e8 08 00 00 00 callq 0x100000f9653# REVERSED-NEXT: 100000f8e: 89 45 fc movl %eax, -4(%rbp)54# REVERSED-NEXT: 100000f91: eb db jmp 0x100000f6e55# REVERSED-NEXT: 100000f93: 20 5d c3 andb %bl, -61(%rbp)56