# RUN: llc -start-before=prologepilog -filetype=obj -o %t %s
# RUN: llvm-dwarfdump --name=obj1 %t | FileCheck %s --check-prefix=CHECKDWARF1
# RUN: llvm-dwarfdump --name=obj2 %t | FileCheck %s --check-prefix=CHECKDWARF2
# RUN: llvm-objdump --no-print-imm-hex -d %t | FileCheck %s --check-prefix=CHECKASM
#
# Test that the location for obj1 and obj2 in the debug information is
# the same as the location used by load instructions.
#
# CHECKDWARF1: DW_AT_location    (DW_OP_fbreg -1)
# CHECKDWARF2: DW_AT_location    (DW_OP_fbreg -2)
# CHECKASM: ldurb   w0, [x29, #-1]
# CHECKASM: ldurb   w1, [x29, #-2]
--- |
  ; ModuleID = 'wrong-callee-save-size-after-livedebugvariables.c'
  source_filename = "wrong-callee-save-size-after-livedebugvariables.c"
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64-unknown-linux-gnu"

  ; Function Attrs: noinline nounwind optnone
  define dso_local i8 @foo() #0 !dbg !7 {
  entry:
    %obj1 = alloca i8, align 1
    %obj2 = alloca i8, align 1
    %obj3 = alloca [238 x i8], align 1
    ret i8 undef, !dbg !24
  }

  declare dso_local i8 @bar(i8, i8, i8*) #0

  attributes #0 = { noinline nounwind optnone "frame-pointer"="all" }

  !llvm.dbg.cu = !{!0}
  !llvm.module.flags = !{!3, !4, !5}
  !llvm.ident = !{!6}

  !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 10.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None)
  !1 = !DIFile(filename: "wrong-callee-save-size-after-livedebugvariables.c", directory: "")
  !2 = !{}
  !3 = !{i32 2, !"Dwarf Version", i32 4}
  !4 = !{i32 2, !"Debug Info Version", i32 3}
  !5 = !{i32 1, !"wchar_size", i32 4}
  !6 = !{!"clang version 10.0.0"}
  !7 = distinct !DISubprogram(name: "foo", scope: !1, file: !1, line: 3, type: !8, scopeLine: 3, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
  !8 = !DISubroutineType(types: !9)
  !9 = !{!10}
  !10 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_unsigned_char)
  !11 = !DILocalVariable(name: "obj1", scope: !7, file: !1, line: 4, type: !10)
  !12 = !DILocation(line: 4, column: 8, scope: !7)
  !13 = !DILocalVariable(name: "obj2", scope: !7, file: !1, line: 5, type: !10)
  !14 = !DILocation(line: 5, column: 8, scope: !7)
  !15 = !DILocalVariable(name: "obj3", scope: !7, file: !1, line: 6, type: !16)
  !16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !10, size: 1904, elements: !17)
  !17 = !{!18}
  !18 = !DISubrange(count: 238)
  !19 = !DILocation(line: 6, column: 8, scope: !7)
  !20 = !DILocation(line: 7, column: 14, scope: !7)
  !21 = !DILocation(line: 7, column: 20, scope: !7)
  !22 = !DILocation(line: 7, column: 27, scope: !7)
  !23 = !DILocation(line: 7, column: 10, scope: !7)
  !24 = !DILocation(line: 7, column: 3, scope: !7)

...
---
name:            foo
tracksRegLiveness: true
frameInfo:
  hasCalls:        true
fixedStack:      []
stack:
  - { id: 0, name: obj1, type: default, offset: 0, size: 1, alignment: 1,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      local-offset: -1, debug-info-variable: '!11', debug-info-expression: '!DIExpression()',
      debug-info-location: '!12' }
  - { id: 1, name: obj2, type: default, offset: 0, size: 1, alignment: 1,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      local-offset: -2, debug-info-variable: '!13', debug-info-expression: '!DIExpression()',
      debug-info-location: '!14' }
  - { id: 2, name: obj3, type: default, offset: 0, size: 238, alignment: 1,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      local-offset: -240, debug-info-variable: '!15', debug-info-expression: '!DIExpression()',
      debug-info-location: '!19' }
body:             |
  bb.1.entry:
    renamable $x2 = ADDXri %stack.2.obj3, 0, 0
    renamable $w0 = LDRBBui %stack.0.obj1, 0, debug-location !20 :: (load (s8) from %ir.obj1)
    renamable $w1 = LDRBBui %stack.1.obj2, 0, debug-location !21 :: (load (s8) from %ir.obj2)
    ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp, debug-location !23
    BL @bar, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit killed $w0, implicit killed $w1, implicit killed $x2, implicit-def $w0, debug-location !23
    ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp, debug-location !23
    RET_ReallyLR implicit killed $w0, debug-location !24

...
