# RUN: llc -o - %s -mtriple=x86_64-- -verify-cfiinstrs \
# RUN:     -run-pass=cfi-instr-inserter 2>&1 | FileCheck %s
# Test that CFI inserter inserts .cfi_offset/.cfi_register/.cfi_rel_offset
# properly for callee saved registers.
--- |
  define void @foo() {
    ret void
  }
...
---
# CHECK:      bb.3:
# CHECK:      CFI_INSTRUCTION offset $rbp, -16
# CHECK-NEXT: CFI_INSTRUCTION offset $r12, -24
# CHECK-NEXT: CFI_INSTRUCTION register $r13, $rcx
# CHECK-NEXT: CFI_INSTRUCTION offset $r14, -40
name:            foo
alignment:       16
tracksRegLiveness: true
liveins:
  - { reg: '$edi' }
frameInfo:
  stackSize:       16
  offsetAdjustment: -16
  maxAlignment:    16
  hasCalls:        true
  maxCallFrameSize: 0
  cvBytesOfCalleeSavedRegisters: 8
fixedStack:
  - { id: 0, type: spill-slot, offset: -40, size: 8, alignment: 8, callee-saved-register: '$r14' }
  - { id: 1, type: spill-slot, offset: -24, size: 8, alignment: 8, callee-saved-register: '$r12' }
  - { id: 2, type: spill-slot, offset: -16, size: 8, alignment: 16 }
  - { id: 3, type: spill-slot, offset: -16, size: 8, alignment: 16 }
  - { id: 4, type: spill-slot, offset: -24, size: 8, alignment: 8 }
machineFunctionInfo: {}
body:             |
  bb.0:
    successors: %bb.2(0x40000000), %bb.1(0x40000000)
    liveins: $edi, $r12, $r13, $r14
  
    frame-setup PUSH64r killed $rbp, implicit-def $rsp, implicit $rsp
    CFI_INSTRUCTION def_cfa_offset 16
    CFI_INSTRUCTION offset $rbp, -16
    $rbp = frame-setup MOV64rr $rsp
    CFI_INSTRUCTION def_cfa_register $rbp
    frame-setup PUSH64r killed $r12, implicit-def $rsp, implicit $rsp
    $rcx = frame-setup COPY $r13
    frame-setup PUSH64r killed $r14, implicit-def $rsp, implicit $rsp
    CFI_INSTRUCTION offset $r12, -24
    CFI_INSTRUCTION register $r13, $rcx
    CFI_INSTRUCTION rel_offset $r14, -24
    TEST8rr renamable $dil, renamable $dil, implicit-def $eflags, implicit killed $edi
    JCC_1 %bb.2, 4, implicit killed $eflags
    JMP_1 %bb.1
  
  bb.1:
    successors: %bb.3(0x80000000)
  
    renamable $r12 = IMPLICIT_DEF
    renamable $r13 = IMPLICIT_DEF
    renamable $r14 = IMPLICIT_DEF
    JMP_1 %bb.3
  
  bb.2:
    liveins: $rcx
    dead $eax = MOV32r0 implicit-def dead $eflags, implicit-def $rax
    $r12 = frame-destroy POP64r implicit-def $rsp, implicit $rsp
    $r13 = frame-destroy COPY $rcx
    $r14 = frame-destroy POP64r implicit-def $rsp, implicit $rsp
    $rbp = frame-destroy POP64r implicit-def $rsp, implicit $rsp
    CFI_INSTRUCTION restore $rbp
    CFI_INSTRUCTION restore $r12
    CFI_INSTRUCTION restore $r13
    CFI_INSTRUCTION restore $r14
    CFI_INSTRUCTION def_cfa $rsp, 8
    RET 0, killed $rax
  
  bb.3:
    successors: %bb.4(0x80000000)
  
    renamable $rdi = IMPLICIT_DEF
    renamable $rsi = IMPLICIT_DEF
  
  bb.4:
    liveins: $rcx
    dead $eax = MOV32r0 implicit-def dead $eflags, implicit-def $rax
    $r12 = frame-destroy POP64r implicit-def $rsp, implicit $rsp
    $r13 = frame-destroy COPY $rcx
    $r14 = frame-destroy POP64r implicit-def $rsp, implicit $rsp
    $rbp = frame-destroy POP64r implicit-def $rsp, implicit $rsp
    CFI_INSTRUCTION restore $rbp
    CFI_INSTRUCTION restore $r12
    CFI_INSTRUCTION restore $r13
    CFI_INSTRUCTION restore $r14
    CFI_INSTRUCTION def_cfa $rsp, 8
    RET 0, killed $rax

...
