# 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 -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 1 from %ir.obj1)
    renamable $w1 = LDRBBui %stack.1.obj2, 0, debug-location !21 :: (load 1 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

...
