; RUN: llc -mtriple=x86_64-windows-msvc < %s -filetype=obj | llvm-readobj -codeview - | FileCheck %s --check-prefix=OBJ

; This LL file was generated by running 'clang -g -gcodeview' on the
; following code:
; void useint(int);
; void constant_var() {
;   int x = 42;
;   useint(x);
;   useint(x);
; }

; FIXME: Find a way to describe variables optimized to constants.

; OBJ:        {{.*}}Proc{{.*}}Sym {
; OBJ:           DisplayName: constant_var
; OBJ:         }
; OBJ:         LocalSym {
; OBJ-NEXT:      Kind:
; OBJ-NEXT:      Type: int (0x74)
; OBJ-NEXT:      Flags [ (0x100)
; OBJ-NEXT:        IsOptimizedOut (0x100)
; OBJ-NEXT:      ]
; OBJ-NEXT:      VarName: x
; OBJ-NEXT:    }
; OBJ-NOT:     DefRange
; OBJ:         ProcEnd

; 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"

; Function Attrs: nounwind uwtable
define void @"\01?constant_var@@YAXXZ"() #0 !dbg !4 {
entry:
  tail call void @llvm.dbg.value(metadata i32 42, metadata !8, metadata !14), !dbg !15
  tail call void @"\01?useint@@YAXH@Z"(i32 42) #3, !dbg !16
  tail call void @"\01?useint@@YAXH@Z"(i32 42) #3, !dbg !17
  ret void, !dbg !18
}

declare void @"\01?useint@@YAXH@Z"(i32) #1

; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, metadata, metadata) #2

attributes #0 = { 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 = { "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 #2 = { nounwind readnone }
attributes #3 = { nounwind }

!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!10, !11, !12}
!llvm.ident = !{!13}

!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 3.9.0 (trunk 260957)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
!1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")
!2 = !{}
!4 = distinct !DISubprogram(name: "constant_var", linkageName: "\01?constant_var@@YAXXZ", scope: !1, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !7)
!5 = !DISubroutineType(types: !6)
!6 = !{null}
!7 = !{!8}
!8 = !DILocalVariable(name: "x", scope: !4, file: !1, line: 3, type: !9)
!9 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!10 = !{i32 2, !"CodeView", i32 1}
!11 = !{i32 2, !"Debug Info Version", i32 3}
!12 = !{i32 1, !"PIC Level", i32 2}
!13 = !{!"clang version 3.9.0 (trunk 260957)"}
!14 = !DIExpression()
!15 = !DILocation(line: 3, column: 7, scope: !4)
!16 = !DILocation(line: 4, column: 3, scope: !4)
!17 = !DILocation(line: 5, column: 3, scope: !4)
!18 = !DILocation(line: 6, column: 1, scope: !4)
