1# RUN: yaml2obj -format=elf %s | llvm-objdump -d -yaml-cfg=%t - && FileCheck --check-prefix=CFG < %t %s 2# REQUIRES: shell 3# 4# Generated from: 5# main: 6# movl $48, %eax 7# cmpl $3, %edi 8# jl .LBB0_2 9# movq 8(%rsi), %rax 10# movsbl (%rax), %eax 11# .LBB0_2: 12# ret 13# 14 15!ELF 16FileHeader: 17 Class: ELFCLASS64 18 Data: ELFDATA2LSB 19 Type: ET_REL 20 Machine: EM_X86_64 21Sections: 22 - Name: .text 23 Type: SHT_PROGBITS 24 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 25 Content: "B83000000083FF037C07488B46080FBE00C3" 26 27## 0000000000000000 <main>: 28 29#CFG: Atoms: 30#CFG: - StartAddress: 0x0000000000000000 31#CFG: Size: 10 32 33## 0: b8 30 00 00 00 mov $0x30,%eax 34#CFG: - Inst: MOV32ri 35#CFG: Size: 5 36#CFG: Ops: [ REAX, I48 ] 37 38## 5: 83 ff 03 cmp $0x3,%edi 39#CFG: - Inst: CMP32ri8 40#CFG: Size: 3 41#CFG: Ops: [ REDI, I3 ] 42 43## 8: 7c 07 jl 11 <main+0x11> 44#CFG: - Inst: JL_1 45#CFG: Size: 2 46#CFG: Ops: [ I7 ] 47 48#CFG: - StartAddress: 0x000000000000000A 49#CFG: Size: 7 50 51## a: 48 8b 46 08 mov 0x8(%rsi),%rax 52#CFG: - Inst: MOV64rm 53#CFG: Size: 4 54#CFG: Ops: [ RRAX, RRSI, I1, R, I8, R ] 55 56## e: 0f be 00 movsbl (%rax),%eax 57#CFG: - Inst: MOVSX32rm8 58#CFG: Size: 3 59#CFG: Ops: [ REAX, RRAX, I1, R, I0, R ] 60#CFG: - StartAddress: 0x0000000000000011 61#CFG: Size: 1 62 63## 11: c3 retq 64#CFG: - Inst: RET 65#CFG: Size: 1 66#CFG: Ops: [ ] 67 68Symbols: 69 Global: 70 - Name: main 71 Type: STT_FUNC 72 Section: .text 73 Value: 0x0 74 Size: 18 75 76#CFG: Functions: 77#CFG: BasicBlocks: 78#CFG: - Address: 0x0000000000000000 79#CFG: Preds: [ ] 80#CFG: Succs: [ 0x0000000000000011, 0x000000000000000A ] 81#CFG: - Address: 0x0000000000000011 82#CFG: Preds: [ 0x0000000000000000, 0x000000000000000A ] 83#CFG: Succs: [ ] 84#CFG: - Address: 0x000000000000000A 85#CFG: Preds: [ 0x0000000000000000 ] 86#CFG: Succs: [ 0x0000000000000011 ] 87