# RUN: llc -mtriple=arm-eabi -run-pass=livedebugvalues %s -o - | FileCheck %s
#
# Check that the debug information for variables are propagated into the correct blocks.
#
# Generated from the C source:
#
# int func2(int,  int);
# void func(int a) {
#   int b = func2(10, 11);
#   if (a) {
#     int c = func2(12, 13);
#     for(int i = 1; i < a; i++) {
#       func2(i, i+b);
#     }
#     func2(b,c);
#   }
#   func2(b,a);
# }

# CHECK: [[VAR_A:![0-9]+]] = !DILocalVariable(name: "a",
# CHECK: [[VAR_B:![0-9]+]] = !DILocalVariable(name: "b",
# CHECK: [[VAR_C:![0-9]+]] = !DILocalVariable(name: "c",
# CHECK: [[VAR_I:![0-9]+]] = !DILocalVariable(name: "i",

# CHECK: bb.0.entry
# CHECK: DBG_VALUE debug-use $r0, debug-use $noreg, [[VAR_A]]
# CHECK: DBG_VALUE debug-use [[REG_A:\$r[0-9]+]], debug-use $noreg, [[VAR_A]]
# CHECK: DBG_VALUE debug-use [[REG_B:\$r[0-9]+]], debug-use $noreg, [[VAR_B]]

# CHECK: bb.1.if.then
# CHECK: DBG_VALUE debug-use [[REG_B]], debug-use $noreg, [[VAR_B]]
# CHECK: DBG_VALUE debug-use [[REG_A]], debug-use $noreg, [[VAR_A]]
# CHECK: DBG_VALUE debug-use [[REG_C:\$r[0-9]+]], debug-use $noreg, [[VAR_C]]
# CHECK: DBG_VALUE 1, 0, [[VAR_I]]

# CHECK: bb.2.for.body
# CHECK: DBG_VALUE debug-use [[REG_I:\$r[0-9]+]], debug-use $noreg, [[VAR_I]]
# CHECK: DBG_VALUE debug-use [[REG_C]], debug-use $noreg, [[VAR_C]]
# CHECK: DBG_VALUE debug-use [[REG_B]], debug-use $noreg, [[VAR_B]]
# CHECK: DBG_VALUE debug-use [[REG_A]], debug-use $noreg, [[VAR_A]]
# CHECK: DBG_VALUE debug-use [[REG_I]], debug-use $noreg, [[VAR_I]]

# CHECK: bb.3.for.cond
# CHECK: DBG_VALUE debug-use [[REG_C]], debug-use $noreg, [[VAR_C]]
# CHECK: DBG_VALUE debug-use [[REG_B]], debug-use $noreg, [[VAR_B]]
# CHECK: DBG_VALUE debug-use [[REG_A]], debug-use $noreg, [[VAR_A]]
# CHECK: DBG_VALUE debug-use [[REG_I]], debug-use $noreg, [[VAR_I]]

# CHECK: bb.4.for.cond.cleanup
# CHECK: DBG_VALUE debug-use [[REG_C]], debug-use $noreg, [[VAR_C]]
# CHECK: DBG_VALUE debug-use [[REG_B]], debug-use $noreg, [[VAR_B]]
# CHECK: DBG_VALUE debug-use [[REG_A]], debug-use $noreg, [[VAR_A]]

# CHECK: bb.5.if.end
# CHECK: DBG_VALUE debug-use [[REG_B]], debug-use $noreg, [[VAR_B]]
# CHECK: DBG_VALUE debug-use [[REG_A]], debug-use $noreg, [[VAR_A]]
--- |
  ; ModuleID = '/data/kwalker/work/OpenSource-llvm/llvm/test/CodeGen/ARM/dbg-range-extension.ll'
  source_filename = "/data/kwalker/work/OpenSource-llvm/llvm/test/CodeGen/ARM/dbg-range-extension.ll"
  target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
  target triple = "arm---eabi"
  
  ; Function Attrs: minsize nounwind optsize
  define void @func(i32 %a) local_unnamed_addr #0 !dbg !8 {
  entry:
    tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !13, metadata !20), !dbg !21
    %call = tail call i32 @func2(i32 10, i32 11) #0, !dbg !22
    tail call void @llvm.dbg.value(metadata i32 %call, i64 0, metadata !14, metadata !20), !dbg !23
    %tobool = icmp eq i32 %a, 0, !dbg !24
    br i1 %tobool, label %if.end, label %if.then, !dbg !25
  
  if.then:                                          ; preds = %entry
    %call1 = tail call i32 @func2(i32 12, i32 13) #0, !dbg !26
    tail call void @llvm.dbg.value(metadata i32 %call1, i64 0, metadata !15, metadata !20), !dbg !27
    tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !18, metadata !20), !dbg !28
    br label %for.cond, !dbg !29
  
  for.cond:                                         ; preds = %for.body, %if.then
    %i.0 = phi i32 [ 1, %if.then ], [ %inc, %for.body ]
    tail call void @llvm.dbg.value(metadata i32 %i.0, i64 0, metadata !18, metadata !20), !dbg !28
    %cmp = icmp slt i32 %i.0, %a, !dbg !30
    br i1 %cmp, label %for.body, label %for.cond.cleanup, !dbg !33
  
  for.cond.cleanup:                                 ; preds = %for.cond
    %call3 = tail call i32 @func2(i32 %call, i32 %call1) #0, !dbg !34
    br label %if.end, !dbg !35
  
  for.body:                                         ; preds = %for.cond
    %0 = add i32 %call, %i.0, !dbg !36
    %call2 = tail call i32 @func2(i32 %i.0, i32 %0) #0, !dbg !36
    %inc = add nuw nsw i32 %i.0, 1, !dbg !38
    tail call void @llvm.dbg.value(metadata i32 %inc, i64 0, metadata !18, metadata !20), !dbg !28
    br label %for.cond, !dbg !40, !llvm.loop !41
  
  if.end:                                           ; preds = %for.cond.cleanup, %entry
    %call4 = tail call i32 @func2(i32 %call, i32 %a) #0, !dbg !43
    ret void, !dbg !44
  }
  
  ; Function Attrs: minsize optsize
  declare i32 @func2(i32, i32) local_unnamed_addr #1
  
  ; Function Attrs: nounwind readnone
  declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
  
  ; Function Attrs: nounwind
  declare void @llvm.stackprotector(i8*, i8**) #3
  
  attributes #0 = { minsize nounwind optsize }
  attributes #1 = { minsize optsize }
  attributes #2 = { nounwind readnone }
  attributes #3 = { nounwind }
  
  !llvm.dbg.cu = !{!0}
  !llvm.module.flags = !{!3, !4, !5, !6}
  !llvm.ident = !{!7}
  
  !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
  !1 = !DIFile(filename: "loop.c", directory: "/tmp")
  !2 = !{}
  !3 = !{i32 2, !"Dwarf Version", i32 4}
  !4 = !{i32 2, !"Debug Info Version", i32 3}
  !5 = !{i32 1, !"wchar_size", i32 4}
  !6 = !{i32 1, !"min_enum_size", i32 4}
  !7 = !{!"clang version 4.0.0 (http://llvm.org/git/clang.git b8f10df3679b36f51e1de7c4351b82d297825089) (http://llvm.org/git/llvm.git c2a5d16d1e3b8c49f5bbb1ff87a76ac4f88edb89)"}
  !8 = distinct !DISubprogram(name: "func", scope: !1, file: !1, line: 2, type: !9, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !12)
  !9 = !DISubroutineType(types: !10)
  !10 = !{null, !11}
  !11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
  !12 = !{!13, !14, !15, !18}
  !13 = !DILocalVariable(name: "a", arg: 1, scope: !8, file: !1, line: 2, type: !11)
  !14 = !DILocalVariable(name: "b", scope: !8, file: !1, line: 3, type: !11)
  !15 = !DILocalVariable(name: "c", scope: !16, file: !1, line: 5, type: !11)
  !16 = distinct !DILexicalBlock(scope: !17, file: !1, line: 4, column: 9)
  !17 = distinct !DILexicalBlock(scope: !8, file: !1, line: 4, column: 6)
  !18 = !DILocalVariable(name: "i", scope: !19, file: !1, line: 6, type: !11)
  !19 = distinct !DILexicalBlock(scope: !16, file: !1, line: 6, column: 3)
  !20 = !DIExpression()
  !21 = !DILocation(line: 2, column: 15, scope: !8)
  !22 = !DILocation(line: 3, column: 17, scope: !8)
  !23 = !DILocation(line: 3, column: 13, scope: !8)
  !24 = !DILocation(line: 4, column: 6, scope: !17)
  !25 = !DILocation(line: 4, column: 6, scope: !8)
  !26 = !DILocation(line: 5, column: 11, scope: !16)
  !27 = !DILocation(line: 5, column: 7, scope: !16)
  !28 = !DILocation(line: 6, column: 11, scope: !19)
  !29 = !DILocation(line: 6, column: 7, scope: !19)
  !30 = !DILocation(line: 6, column: 20, scope: !31)
  !31 = !DILexicalBlockFile(scope: !32, file: !1, discriminator: 1)
  !32 = distinct !DILexicalBlock(scope: !19, file: !1, line: 6, column: 3)
  !33 = !DILocation(line: 6, column: 3, scope: !31)
  !34 = !DILocation(line: 9, column: 3, scope: !16)
  !35 = !DILocation(line: 10, column: 2, scope: !16)
  !36 = !DILocation(line: 7, column: 4, scope: !37)
  !37 = distinct !DILexicalBlock(scope: !32, file: !1, line: 6, column: 30)
  !38 = !DILocation(line: 6, column: 26, scope: !39)
  !39 = !DILexicalBlockFile(scope: !32, file: !1, discriminator: 3)
  !40 = !DILocation(line: 6, column: 3, scope: !39)
  !41 = distinct !{!41, !42}
  !42 = !DILocation(line: 6, column: 3, scope: !16)
  !43 = !DILocation(line: 11, column: 2, scope: !8)
  !44 = !DILocation(line: 12, column: 1, scope: !8)

...
---
name:            func
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: false
liveins:         
  - { reg: '$r0' }
calleeSavedRegisters: [ '$lr', '$d8', '$d9', '$d10', '$d11', '$d12', '$d13', 
                        '$d14', '$d15', '$q4', '$q5', '$q6', '$q7', '$r4', 
                        '$r5', '$r6', '$r7', '$r8', '$r9', '$r10', '$r11', 
                        '$s16', '$s17', '$s18', '$s19', '$s20', '$s21', 
                        '$s22', '$s23', '$s24', '$s25', '$s26', '$s27', 
                        '$s28', '$s29', '$s30', '$s31', '$d8_d10', '$d9_d11', 
                        '$d10_d12', '$d11_d13', '$d12_d14', '$d13_d15', 
                        '$q4_q5', '$q5_q6', '$q6_q7', '$q4_q5_q6_q7', '$r4_r5', 
                        '$r6_r7', '$r8_r9', '$r10_r11', '$d8_d9_d10', '$d9_d10_d11', 
                        '$d10_d11_d12', '$d11_d12_d13', '$d12_d13_d14', 
                        '$d13_d14_d15', '$d8_d10_d12', '$d9_d11_d13', '$d10_d12_d14', 
                        '$d11_d13_d15', '$d8_d10_d12_d14', '$d9_d11_d13_d15', 
                        '$d9_d10', '$d11_d12', '$d13_d14', '$d9_d10_d11_d12', 
                        '$d11_d12_d13_d14' ]
frameInfo:       
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       24
  offsetAdjustment: 0
  maxAlignment:    4
  adjustsStack:    true
  hasCalls:        true
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
stack:           
  - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, callee-saved-register: '$lr' }
  - { id: 1, type: spill-slot, offset: -8, size: 4, alignment: 4, callee-saved-register: '$r11' }
  - { id: 2, type: spill-slot, offset: -12, size: 4, alignment: 4, callee-saved-register: '$r7' }
  - { id: 3, type: spill-slot, offset: -16, size: 4, alignment: 4, callee-saved-register: '$r6' }
  - { id: 4, type: spill-slot, offset: -20, size: 4, alignment: 4, callee-saved-register: '$r5' }
  - { id: 5, type: spill-slot, offset: -24, size: 4, alignment: 4, callee-saved-register: '$r4' }
body:             |
  bb.0.entry:
    liveins: $r0, $r4, $r5, $r6, $r7, $r11, $lr
  
    $sp = frame-setup STMDB_UPD $sp, 14, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r11, killed $lr
    frame-setup CFI_INSTRUCTION def_cfa_offset 24
    frame-setup CFI_INSTRUCTION offset $lr, -4
    frame-setup CFI_INSTRUCTION offset $r11, -8
    frame-setup CFI_INSTRUCTION offset $r7, -12
    frame-setup CFI_INSTRUCTION offset $r6, -16
    frame-setup CFI_INSTRUCTION offset $r5, -20
    frame-setup CFI_INSTRUCTION offset $r4, -24
    DBG_VALUE debug-use $r0, debug-use $noreg, !13, !20, debug-location !21
    $r4 = MOVr killed $r0, 14, $noreg, $noreg
    DBG_VALUE debug-use $r4, debug-use $noreg, !13, !20, debug-location !21
    $r0 = MOVi 10, 14, $noreg, _, debug-location !22
    $r1 = MOVi 11, 14, $noreg, _, debug-location !22
    BL @func2, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $r0, implicit killed $r1, implicit-def $sp, implicit-def $r0, debug-location !22
    $r5 = MOVr killed $r0, 14, $noreg, _, debug-location !22
    DBG_VALUE debug-use $r5, debug-use $noreg, !14, !20, debug-location !23
    CMPri $r4, 0, 14, $noreg, implicit-def $cpsr, debug-location !25
    Bcc %bb.5.if.end, 0, killed $cpsr
  
  bb.1.if.then:
    liveins: $r4, $r5
  
    $r0 = MOVi 12, 14, $noreg, _, debug-location !26
    $r1 = MOVi 13, 14, $noreg, _, debug-location !26
    BL @func2, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $r0, implicit killed $r1, implicit-def $sp, implicit-def $r0, debug-location !26
    $r6 = MOVr killed $r0, 14, $noreg, _, debug-location !26
    DBG_VALUE debug-use $r6, debug-use $noreg, !15, !20, debug-location !27
    $r7 = MOVi 1, 14, $noreg, $noreg
    DBG_VALUE 1, 0, !18, !20, debug-location !28
    B %bb.3.for.cond
  
  bb.2.for.body:
    liveins: $r4, $r5, $r6, $r7
  
    $r1 = ADDrr $r5, $r7, 14, $noreg, _, debug-location !36
    $r0 = MOVr $r7, 14, $noreg, _, debug-location !36
    BL @func2, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $r0, implicit killed $r1, implicit-def $sp, implicit-def dead $r0, debug-location !36
    $r7 = ADDri killed $r7, 1, 14, $noreg, _, debug-location !38
    DBG_VALUE debug-use $r7, debug-use $noreg, !18, !20, debug-location !28
  
  bb.3.for.cond:
    liveins: $r4, $r5, $r6, $r7
  
    DBG_VALUE debug-use $r7, debug-use $noreg, !18, !20, debug-location !28
    CMPrr $r7, $r4, 14, $noreg, implicit-def $cpsr, debug-location !33
    Bcc %bb.2.for.body, 11, killed $cpsr, debug-location !33
  
  bb.4.for.cond.cleanup:
    liveins: $r4, $r5, $r6
  
    $r0 = MOVr $r5, 14, $noreg, _, debug-location !34
    $r1 = MOVr killed $r6, 14, $noreg, _, debug-location !34
    BL @func2, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $r0, implicit killed $r1, implicit-def $sp, implicit-def dead $r0, debug-location !34
  
  bb.5.if.end:
    liveins: $r4, $r5
  
    $r0 = MOVr killed $r5, 14, $noreg, _, debug-location !43
    $r1 = MOVr killed $r4, 14, $noreg, _, debug-location !43
    $sp = LDMIA_UPD $sp, 14, $noreg, def $r4, def $r5, def $r6, def $r7, def $r11, def $lr, debug-location !43
    TAILJMPd @func2, implicit $sp, implicit $sp, implicit killed $r0, implicit killed $r1, debug-location !43

...
