; RUN: llc -simplify-mir -stop-after=machine-sink < %s -o - | FileCheck %s

; ModuleID = 'test-sink-debug.cpp'
source_filename = "test-sink-debug.cpp"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; double foo(double x, double y, bool c) {
;   double a = x / 3.0;
;   double b = y / 5.0;
;   double ret;
;
;   if (c)
;      ret = a + 1.0;
;   else
;      ret = b + 1.0;
;
;   ret = ret + 1.0;
;
;   return ret;
; }
; CHECK: fdiv {{.*}} !dbg [[NO:![0-9]+]]
; CHECK: fadd {{.*}} !dbg [[YES:![0-9]+]]
; CHECK: fdiv {{.*}} !dbg [[TAG:![0-9]+]]

; Function Attrs: nounwind readnone uwtable
define double @_Z3fooddb(double %x, double %y, i1 zeroext %c) local_unnamed_addr !dbg !7 {
  tail call void @llvm.dbg.value(metadata double %x, metadata !13, metadata !DIExpression()), !dbg !16
  tail call void @llvm.dbg.value(metadata double %y, metadata !14, metadata !DIExpression()), !dbg !16
  tail call void @llvm.dbg.value(metadata i1 %c, metadata !15, metadata !DIExpression()), !dbg !16
  %a = fdiv double %x, 3.000000e+00
  %b = fdiv double %y, 5.000000e+00, !dbg !17
  br i1 %c, label %first, label %second
first:
  %e = fadd double %a, 1.000000e+00
  br label %final
second:
  %f = fadd double %b, 1.000000e+00, !dbg !18

; CHECK-NOT: debug-location [[NO]]
; CHECK: debug-location [[YES]]
; CHECK-NOT: debug-location [[NO]]
  br label %final
final:
  %cond = phi double [%e, %first], [%f, %second]
  %d = fadd double %cond, 1.000000e+00
  ret double %d
}



; Function Attrs: nounwind readnone uwtable
define double @_Z4foo1ddb(double %x, double %y, i1 zeroext %c) local_unnamed_addr !dbg !19 {
  tail call void @llvm.dbg.value(metadata double %x, metadata !21, metadata !DIExpression()), !dbg !24
  tail call void @llvm.dbg.value(metadata double %y, metadata !22, metadata !DIExpression()), !dbg !24
  tail call void @llvm.dbg.value(metadata i1 %c, metadata !23, metadata !DIExpression()), !dbg !24
  %a = fdiv double %x, 3.000000e+00
  %b = fdiv double %y, 5.000000e+00, !dbg !25
  br i1 %c, label %first, label %second
first:
  %e = fadd double %a, 1.000000e+00
  br label %final
second:
  %f = fadd double %b, 1.000000e+00, !dbg !25
; CHECK: debug-location [[TAG]]
; CHECK-NEXT: debug-location [[TAG]]
  br label %final
final:
  %cond = phi double [%e, %first], [%f, %second]
  %d = fadd double %cond, 1.000000e+00
  ret double %d
}

!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4, !5}
!llvm.ident = !{!6}

attributes #1 = { nounwind readnone speculatable }

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

!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 6.0.0 (trunk 313291)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
!1 = !DIFile(filename: "test-sink-debug.cpp", 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 = !{!"clang version 6.0.0 (trunk 313291)"}
!7 = distinct !DISubprogram(name: "foo", linkageName: "_Z3fooddb", scope: !1, file: !1, line: 1, type: !8, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !12)
!8 = !DISubroutineType(types: !9)
!9 = !{!10, !10, !10, !11}
!10 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_float)
!11 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!12 = !{!13, !14, !15}
!13 = !DILocalVariable(name: "x", arg: 1, scope: !7, file: !1, line: 1, type: !10)
!14 = !DILocalVariable(name: "y", arg: 2, scope: !7, file: !1, line: 1, type: !10)
!15 = !DILocalVariable(name: "c", arg: 3, scope: !7, file: !1, line: 1, type: !11)
!16 = !DILocation(line: 1, column: 19, scope: !7)
!17 = !DILocation(line: 2, column: 26, scope: !7)
!18 = !DILocation(line: 3, column: 20, scope: !7)
!19 = distinct !DISubprogram(name: "foo1", linkageName: "_Z4foo1ddb", scope: !1, file: !1, line: 1, type: !8, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !20)
!20 = !{!21, !22, !23}
!21 = !DILocalVariable(name: "x", arg: 1, scope: !19, file: !1, line: 1, type: !10)
!22 = !DILocalVariable(name: "y", arg: 2, scope: !19, file: !1, line: 1, type: !10)
!23 = !DILocalVariable(name: "c", arg: 3, scope: !19, file: !1, line: 1, type: !11)
!24 = !DILocation(line: 1, column: 19, scope: !19)
!25 = !DILocation(line: 2, column: 26, scope: !19)
