; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 < %s -filetype=obj | llvm-readobj -codeview | FileCheck %s --check-prefix=OBJ

; This LL file was generated by running 'clang -O1 -g -gcodeview' on the
; volatile int x;
; static inline void file_change(void) {
;   x++;
; #include "t.inc"
;   x++;
; }
; void f(void) {
;   ++x;
;   file_change();
;   ++x;
; }
; t.inc contents:
; ++x;
; ++x;

; OBJ:  Subsection [
; OBJ:    SubSectionType: Symbols (0xF1)
; OBJ:    ProcStart {
; OBJ:      DisplayName: f
; OBJ:    }
; OBJ:    InlineSite {
; OBJ:      PtrParent: 0x0
; OBJ:      PtrEnd: 0x0
; OBJ:      Inlinee: file_change (0x1002)
; OBJ:      BinaryAnnotations [
; OBJ:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
; OBJ:        ChangeFile: D:\src\llvm\build\t.inc (0x8)
; OBJ:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: -2}
; OBJ:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
; OBJ:        ChangeFile: D:\src\llvm\build\t.cpp (0x0)
; OBJ:        ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 3}
; OBJ:        ChangeCodeLength: 0x6
; OBJ:      ]
; OBJ:    }
; OBJ:    InlineSiteEnd {
; OBJ:    }
; OBJ:    ProcEnd
; OBJ:  ]

; ModuleID = 't.cpp'
source_filename = "test/DebugInfo/COFF/inlining-files.ll"
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc18.0.0"

@x = common global i32 0, align 4, !dbg !0

; Function Attrs: norecurse nounwind uwtable
define void @f() #0 !dbg !12 {
entry:
  %0 = load volatile i32, i32* @x, align 4, !dbg !15, !tbaa !16
  %inc = add nsw i32 %0, 1, !dbg !15
  store volatile i32 %inc, i32* @x, align 4, !dbg !15, !tbaa !16
  %1 = load volatile i32, i32* @x, align 4, !dbg !20, !tbaa !16
  %inc.i = add nsw i32 %1, 1, !dbg !20
  store volatile i32 %inc.i, i32* @x, align 4, !dbg !20, !tbaa !16
  %2 = load volatile i32, i32* @x, align 4, !dbg !23, !tbaa !16
  %inc1.i = add nsw i32 %2, 1, !dbg !23
  store volatile i32 %inc1.i, i32* @x, align 4, !dbg !23, !tbaa !16
  %3 = load volatile i32, i32* @x, align 4, !dbg !26, !tbaa !16
  %inc2.i = add nsw i32 %3, 1, !dbg !26
  store volatile i32 %inc2.i, i32* @x, align 4, !dbg !26, !tbaa !16
  %4 = load volatile i32, i32* @x, align 4, !dbg !27, !tbaa !16
  %inc3.i = add nsw i32 %4, 1, !dbg !27
  store volatile i32 %inc3.i, i32* @x, align 4, !dbg !27, !tbaa !16
  %5 = load volatile i32, i32* @x, align 4, !dbg !29, !tbaa !16
  %inc1 = add nsw i32 %5, 1, !dbg !29
  store volatile i32 %inc1, i32* @x, align 4, !dbg !29, !tbaa !16
  ret void, !dbg !30
}

attributes #0 = { norecurse nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }

!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!8, !9, !10}
!llvm.ident = !{!11}

!0 = !DIGlobalVariableExpression(var: !1)
!1 = !DIGlobalVariable(name: "x", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.9.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
!3 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")
!4 = !{}
!5 = !{!0}
!6 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !7)
!7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!8 = !{i32 2, !"CodeView", i32 1}
!9 = !{i32 2, !"Debug Info Version", i32 3}
!10 = !{i32 1, !"PIC Level", i32 2}
!11 = !{!"clang version 3.9.0 "}
!12 = distinct !DISubprogram(name: "f", scope: !3, file: !3, line: 7, type: !13, isLocal: false, isDefinition: true, scopeLine: 7, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !4)
!13 = !DISubroutineType(types: !14)
!14 = !{null}
!15 = !DILocation(line: 8, column: 3, scope: !12)
!16 = !{!17, !17, i64 0}
!17 = !{!"int", !18, i64 0}
!18 = !{!"omnipotent char", !19, i64 0}
!19 = !{!"Simple C/C++ TBAA"}
!20 = !DILocation(line: 3, column: 4, scope: !21, inlinedAt: !22)
!21 = distinct !DISubprogram(name: "file_change", scope: !3, file: !3, line: 2, type: !13, isLocal: true, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !4)
!22 = distinct !DILocation(line: 9, column: 3, scope: !12)
!23 = !DILocation(line: 1, column: 1, scope: !24, inlinedAt: !22)
!24 = !DILexicalBlockFile(scope: !21, file: !25, discriminator: 0)
!25 = !DIFile(filename: "./t.inc", directory: "D:\5Csrc\5Cllvm\5Cbuild")
!26 = !DILocation(line: 2, column: 1, scope: !24, inlinedAt: !22)
!27 = !DILocation(line: 5, column: 4, scope: !28, inlinedAt: !22)
!28 = !DILexicalBlockFile(scope: !21, file: !3, discriminator: 0)
!29 = !DILocation(line: 10, column: 3, scope: !12)
!30 = !DILocation(line: 11, column: 1, scope: !12)

