# RUN: yaml2obj %s -o %t
# RUN: llvm-objdump %t -d --symbolize-operands --no-show-raw-insn --no-leading-addr | \
# RUN:   FileCheck %s

## Expect to find the branch labels.
# CHECK: <break_cond_is_arg>:
# CHECK:     s_branch L1
# CHECK: <L0>:
# CHECK:     s_cbranch_execz L2
# CHECK: <L1>:
# CHECK:     s_branch L0
# CHECKL <L2>:

# I created this YAML starting with this LLVM IR:
#
#   define void @break_cond_is_arg(i32 %arg, i1 %breakcond) {
#   entry:
#     br label %loop
#   loop:
#     %tmp23phi = phi i32 [ %tmp23, %endif ], [ 0, %entry ]
#     %tmp23 = add nuw i32 %tmp23phi, 1
#     %tmp27 = icmp ult i32 %arg, %tmp23
#     br i1 %tmp27, label %then, label %endif
#   then:                                             ; preds = %bb
#     call void @llvm.amdgcn.raw.buffer.store.f32(float undef, <4 x i32> undef, i32 0, i32 undef, i32 0)
#     br label %endif
#   endif:                                             ; preds = %bb28, %bb
#     br i1 %breakcond, label %loop, label %loopexit
#   loopexit:
#     ret void
#   }
#   
#   declare void @llvm.amdgcn.raw.buffer.store.f32(float, <4 x i32>, i32, i32, i32 immarg) #0
#   
#   attributes #0 = { nounwind writeonly }
#
# I compiled it to a relocatable ELF:
#
#   llc -march=amdgcn -mcpu=gfx1030 llvm/a.ll -filetype=obj -o a.elf
#
# then converted it to YAML:
#
#   obj2yaml a.elf
#
# then manually removed the BB0_1 etc local symbols.

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_AMDGPU
  Flags:           [ EF_AMDGPU_MACH_AMDGCN_GFX1030 ]
Sections:
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x4
    Content:         00008CBF0000FDBB81020236810385BE800384BE8102847D6AC10689040082BF7E077E88058105817E047E8A080088BF0500887D7E060787070404886A3C87BEF7FF88BF000070E000000104F4FF82BF7E047E880000FDBB1E2080BE
  - Name:            .AMDGPU.config
    Type:            SHT_PROGBITS
    AddressAlign:    0x1
    Content:         48B80000000000004CB800000000000060B800000000000004000000000000000800000000000000
  - Name:            .note.GNU-stack
    Type:            SHT_PROGBITS
    AddressAlign:    0x1
  - Name:            .note
    Type:            SHT_NOTE
    AddressAlign:    0x4
    Notes:
      - Name:            AMD
        Desc:            616D6467636E2D756E6B6E6F776E2D6C696E75782D676E752D67667831303330
        Type:            NT_FREEBSD_PROCSTAT_GROUPS
  - Type:            SectionHeaderTable
    Sections:
      - Name:            .strtab
      - Name:            .shstrtab
      - Name:            .text
      - Name:            .AMDGPU.config
      - Name:            .note.GNU-stack
      - Name:            .note
      - Name:            .symtab
Symbols:
  - Name:            break_cond_is_arg
    Type:            STT_FUNC
    Section:         .text
    Binding:         STB_GLOBAL
    Size:            0x5C
...
