; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 < %s | FileCheck %s --check-prefix=ASM
; 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
; following code:
;  1: extern volatile int x;
;  2: static inline void foo() {
;  3:   int y = 1;
;  4:   x += (int)&y;
;  5:   x += 2;
;  6:   x += 3;
;  7: }
;  8: static inline void bar() {
;  9:   x += 4;
; 10:   foo();
; 11:   x += 5;
; 12: }
; 13: void baz() {
; 14:   x += 6;
; 15:   bar();
; 16:   x += 7;
; 17: }

; ASM: .cv_func_id 0
; ASM: .cv_loc 0 1 13 0 is_stmt 0      # t.cpp:13:0
; ASM: .cv_loc 0 1 14 5                # t.cpp:14:5
; ASM: addl    $6, "?x@@3HC"
; ASM: .cv_inline_site_id 1 within 0 inlined_at 1 15 3
; ASM: .cv_loc 1 1 9 5                 # t.cpp:9:5
; ASM: addl    $4, "?x@@3HC"
; ASM: .cv_inline_site_id 2 within 1 inlined_at 1 10 3
; ASM: .cv_loc 2 1 3 7                 # t.cpp:3:7
; ASM: .cv_loc 2 1 4 5                 # t.cpp:4:5
; ASM: addl    {{.*}}, "?x@@3HC"
; ASM: .cv_loc 2 1 5 5                 # t.cpp:5:5
; ASM: addl    $2, "?x@@3HC"
; ASM: .cv_loc 2 1 6 5                 # t.cpp:6:5
; ASM: addl    $3, "?x@@3HC"
; ASM: .cv_loc 1 1 11 5                # t.cpp:11:5
; ASM: addl    $5, "?x@@3HC"
; ASM: .cv_loc 0 1 16 5                # t.cpp:16:5
; ASM: addl    $7, "?x@@3HC"
; ASM: .cv_loc 0 1 17 1                # t.cpp:17:1

; ASM: .section .debug$S,"dr"
; ASM: .long   246                     # Inlinee lines subsection
; ASM: .long   [[inline_end:.*]]-[[inline_beg:.*]] #
; ASM: [[inline_beg]]:
; ASM: .long   0
; ASM: # Inlined function bar starts at t.cpp:8
; ASM: .long   4098                    # Type index of inlined function
; ASM: .long   0                       # Offset into filechecksum table
; ASM: .long   8                       # Starting line number
; ASM: # Inlined function foo starts at t.cpp:2
; ASM: .long   4099
; ASM: .long   0
; ASM: .long   2
; ASM: [[inline_end]]:

; ASM: .long   241                     # Symbol subsection for baz
; ASM: .long   {{.*}} # Subsection size
; ASM: .short 4429
; ASM: .long
; ASM: .long
; ASM: .long
; ASM: .cv_inline_linetable 1 1 8 Lfunc_begin0 Lfunc_end0
; ASM: .short 4429
; ASM: .long
; ASM: .long
; ASM: .long
; ASM: .cv_inline_linetable 2 1 2 Lfunc_begin0 Lfunc_end0
; ASM: .short  4430
; ASM: .short  4430

; ASM: .section .debug$T,"dr"
; ASM: .long 4 # Debug section magic
; ASM: # ArgList (0x1000) {
; ASM: #   TypeLeafKind: LF_ARGLIST (0x1201)
; ASM: #   NumArgs: 0
; ASM: #   Arguments [
; ASM: #   ]
; ASM: # }
; ASM: .byte   0x06, 0x00, 0x01, 0x12
; ASM: .byte   0x00, 0x00, 0x00, 0x00
; ASM: # Procedure (0x1001) {
; ASM: #   TypeLeafKind: LF_PROCEDURE (0x1008)
; ASM: #   ReturnType: void (0x3)
; ASM: #   CallingConvention: NearC (0x0)
; ASM: #   FunctionOptions [ (0x0)
; ASM: #   ]
; ASM: #   NumParameters: 0
; ASM: #   ArgListType: () (0x1000)
; ASM: # }
; ASM: .byte   0x0e, 0x00, 0x08, 0x10
; ASM: .byte   0x03, 0x00, 0x00, 0x00
; ASM: .byte   0x00, 0x00, 0x00, 0x00
; ASM: .byte   0x00, 0x10, 0x00, 0x00
; ASM: # FuncId (0x1002) {
; ASM: #   TypeLeafKind: LF_FUNC_ID (0x1601)
; ASM: #   ParentScope: 0x0
; ASM: #   FunctionType: void () (0x1001)
; ASM: #   Name: bar
; ASM: # }
; ASM: .byte   0x0e, 0x00, 0x01, 0x16
; ASM: .byte   0x00, 0x00, 0x00, 0x00
; ASM: .byte   0x01, 0x10, 0x00, 0x00
; ASM: .byte   0x62, 0x61, 0x72, 0x00
; ASM: # FuncId (0x1003) {
; ASM: #   TypeLeafKind: LF_FUNC_ID (0x1601)
; ASM: #   ParentScope: 0x0
; ASM: #   FunctionType: void () (0x1001)
; ASM: #   Name: foo
; ASM: # }
; ASM: .byte   0x0e, 0x00, 0x01, 0x16
; ASM: .byte   0x00, 0x00, 0x00, 0x00
; ASM: .byte   0x01, 0x10, 0x00, 0x00
; ASM: .byte   0x66, 0x6f, 0x6f, 0x00

; We should only the LF_FUNC_ID records that we needed to reference.
; OBJ: CodeViewTypes [
; OBJ:   Section: .debug$T
; OBJ:   ArgList (0x1000) {
; OBJ:     TypeLeafKind: LF_ARGLIST (0x1201)
; OBJ:     NumArgs: 0
; OBJ:   }
; OBJ:   Procedure (0x1001) {
; OBJ:     TypeLeafKind: LF_PROCEDURE (0x1008)
; OBJ:     ReturnType: void (0x3)
; OBJ:     NumParameters: 0
; OBJ:     ArgListType: () (0x1000)
; OBJ:   }
; OBJ:   FuncId (0x1002) {
; OBJ:     TypeLeafKind: LF_FUNC_ID (0x1601)
; OBJ:     ParentScope: 0x0
; OBJ:     FunctionType: void () (0x1001)
; OBJ:     Name: bar
; OBJ:   }
; OBJ:   FuncId (0x1003) {
; OBJ:     TypeLeafKind: LF_FUNC_ID (0x1601)
; OBJ:     ParentScope: 0x0
; OBJ:     FunctionType: void () (0x1001)
; OBJ:     Name: foo
; OBJ:   }
; OBJ:   FuncId (0x1004) {
; OBJ:     TypeLeafKind: LF_FUNC_ID (0x1601)
; OBJ:     ParentScope: 0x0
; OBJ:     FunctionType: void () (0x1001)
; OBJ:     Name: baz
; OBJ:   }
; OBJ-NOT: TypeLeafKind: LF_FUNC_ID
; OBJ: ]

; OBJ: Subsection [
; OBJ:   SubSectionType: InlineeLines (0xF6)
; OBJ:   SubSectionSize: 0x1C
; OBJ:   InlineeSourceLine {
; OBJ:     Inlinee: bar (0x1002)
; OBJ:     FileID: D:\src\llvm\build\t.cpp (0x0)
; OBJ:     SourceLineNum: 8
; OBJ:   }
; OBJ:   InlineeSourceLine {
; OBJ:     Inlinee: foo (0x1003)
; OBJ:     FileID: D:\src\llvm\build\t.cpp (0x0)
; OBJ:     SourceLineNum: 2
; OBJ:   }
; OBJ: ]
; OBJ: Subsection [
; OBJ:   SubSectionType: Symbols (0xF1)
; OBJ:   {{.*}}Proc{{.*}}Sym {
; OBJ:     PtrParent: 0x0
; OBJ:     PtrEnd: 0x0
; OBJ:     PtrNext: 0x0
; OBJ:     CodeSize: 0x3C
; OBJ:     DbgStart: 0x0
; OBJ:     DbgEnd: 0x0
; OBJ:     FunctionType: baz (0x1004)
; OBJ:     CodeOffset: ?baz@@YAXXZ+0x0
; OBJ:     Segment: 0x0
; OBJ:     Flags [ (0x0)
; OBJ:     ]
; OBJ:     DisplayName: baz
; OBJ:     LinkageName: ?baz@@YAXXZ
; OBJ:   }
; OBJ:   InlineSiteSym {
; OBJ:     PtrParent: 0x0
; OBJ:     PtrEnd: 0x0
; OBJ:     Inlinee: bar (0x1002)
; OBJ:      BinaryAnnotations [
; OBJ-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x8, LineOffset: 1}
; OBJ-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
; OBJ-NEXT:   ChangeLineOffset: 1
; OBJ-NEXT:   ChangeCodeOffset: 0x1D
; OBJ-NEXT:   ChangeCodeLength: 0x7
; OBJ:      ]
; OBJ:   }
; OBJ:   InlineSiteSym {
; OBJ:     PtrParent: 0x0
; OBJ:     PtrEnd: 0x0
; OBJ:     Inlinee: foo (0x1003)
; OBJ:     BinaryAnnotations [
; OBJ-NEXT:  ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xF, LineOffset: 1}
; OBJ-NEXT:  ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x9, LineOffset: 1}
; OBJ-NEXT:  ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
; OBJ-NEXT:  ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
; OBJ-NEXT:  ChangeCodeLength: 0x7
; OBJ:     ]
; OBJ:   }
; OBJ:   InlineSiteEnd {
; OBJ:   }
; OBJ:   InlineSiteEnd {
; OBJ:   }
; OBJ:   ProcEnd
; OBJ: ]

; ModuleID = 't.cpp'
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc18.0.0"

@"\01?x@@3HC" = external global i32, align 4

; Function Attrs: norecurse nounwind uwtable
define void @"\01?baz@@YAXXZ"() #0 !dbg !4 {
entry:
  %y.i.i = alloca i32, align 4
  %0 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !12, !tbaa !13
  %add = add nsw i32 %0, 6, !dbg !12
  store volatile i32 %add, i32* @"\01?x@@3HC", align 4, !dbg !12, !tbaa !13
  %1 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !17, !tbaa !13
  %add.i = add nsw i32 %1, 4, !dbg !17
  store volatile i32 %add.i, i32* @"\01?x@@3HC", align 4, !dbg !17, !tbaa !13
  %2 = bitcast i32* %y.i.i to i8*, !dbg !19
  call void @llvm.lifetime.start(i64 4, i8* %2) #2, !dbg !19
  store i32 1, i32* %y.i.i, align 4, !dbg !21, !tbaa !13
  %3 = ptrtoint i32* %y.i.i to i64, !dbg !22
  %4 = trunc i64 %3 to i32, !dbg !22
  %5 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !23, !tbaa !13
  %add.i.i = add nsw i32 %5, %4, !dbg !23
  store volatile i32 %add.i.i, i32* @"\01?x@@3HC", align 4, !dbg !23, !tbaa !13
  %6 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !24, !tbaa !13
  %add1.i.i = add nsw i32 %6, 2, !dbg !24
  store volatile i32 %add1.i.i, i32* @"\01?x@@3HC", align 4, !dbg !24, !tbaa !13
  %7 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !25, !tbaa !13
  %add2.i.i = add nsw i32 %7, 3, !dbg !25
  store volatile i32 %add2.i.i, i32* @"\01?x@@3HC", align 4, !dbg !25, !tbaa !13
  call void @llvm.lifetime.end(i64 4, i8* %2) #2, !dbg !26
  %8 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !27, !tbaa !13
  %add1.i = add nsw i32 %8, 5, !dbg !27
  store volatile i32 %add1.i, i32* @"\01?x@@3HC", align 4, !dbg !27, !tbaa !13
  %9 = load volatile i32, i32* @"\01?x@@3HC", align 4, !dbg !28, !tbaa !13
  %add1 = add nsw i32 %9, 7, !dbg !28
  store volatile i32 %add1, i32* @"\01?x@@3HC", align 4, !dbg !28, !tbaa !13
  ret void, !dbg !29
}

; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) #1

; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) #1

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" }
attributes #1 = { argmemonly nounwind }
attributes #2 = { nounwind }

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

!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 3.9.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, enums: !2)
!1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")
!2 = !{}
!4 = distinct !DISubprogram(name: "baz", scope: !1, file: !1, line: 13, type: !5, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
!5 = !DISubroutineType(types: !2)
!6 = distinct !DISubprogram(name: "bar", scope: !1, file: !1, line: 8, type: !5, isLocal: true, isDefinition: true, scopeLine: 8, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
!7 = distinct !DISubprogram(name: "foo", scope: !1, file: !1, line: 2, type: !5, isLocal: true, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
!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 = !DILocation(line: 14, column: 5, scope: !4)
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !15, i64 0}
!15 = !{!"omnipotent char", !16, i64 0}
!16 = !{!"Simple C/C++ TBAA"}
!17 = !DILocation(line: 9, column: 5, scope: !6, inlinedAt: !18)
!18 = distinct !DILocation(line: 15, column: 3, scope: !4)
!19 = !DILocation(line: 3, column: 3, scope: !7, inlinedAt: !20)
!20 = distinct !DILocation(line: 10, column: 3, scope: !6, inlinedAt: !18)
!21 = !DILocation(line: 3, column: 7, scope: !7, inlinedAt: !20)
!22 = !DILocation(line: 4, column: 8, scope: !7, inlinedAt: !20)
!23 = !DILocation(line: 4, column: 5, scope: !7, inlinedAt: !20)
!24 = !DILocation(line: 5, column: 5, scope: !7, inlinedAt: !20)
!25 = !DILocation(line: 6, column: 5, scope: !7, inlinedAt: !20)
!26 = !DILocation(line: 7, column: 1, scope: !7, inlinedAt: !20)
!27 = !DILocation(line: 11, column: 5, scope: !6, inlinedAt: !18)
!28 = !DILocation(line: 16, column: 5, scope: !4)
!29 = !DILocation(line: 17, column: 1, scope: !4)
