; RUN: opt -S -passes=loop-vectorize -force-vector-width=4 -force-vector-interleave=1 < %s | FileCheck --check-prefix=DBG_VALUE --check-prefix=LOOPVEC_4_1 %s
; RUN: opt -S -passes=loop-vectorize -force-vector-width=2 -force-vector-interleave=3 < %s | FileCheck --check-prefix=DBG_VALUE --check-prefix=LOOPVEC_2_3 %s
; RUN: opt -S -passes=loop-unroll  -unroll-count=5 < %s | FileCheck --check-prefix=DBG_VALUE --check-prefix=LOOPUNROLL_5 %s
; RUN: opt -S -passes=loop-vectorize,loop-unroll -force-vector-width=4 -force-vector-interleave=4 - -unroll-count=2 < %s | FileCheck --check-prefix=DBG_VALUE --check-prefix=LOOPVEC_UNROLL %s
; RUN: opt -S -passes=pseudo-probe,loop-unroll  -unroll-count=5 < %s | FileCheck --check-prefix=PSEUDO_PROBE %s

; Test if vectorization/unroll factor is recorded in discriminator.
;
; Original source code:
;  1 int *a;
;  2 int *b;
;  3
;  4 void foo() {
;  5   for (int i = 0; i < 4096; i++)
;  6     a[i] += b[i];
;  7 }

@a = local_unnamed_addr global ptr null, align 8
@b = local_unnamed_addr global ptr null, align 8
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1

define void @_Z3foov() local_unnamed_addr #0 !dbg !6 {
  %1 = load ptr, ptr @b, align 8, !dbg !8, !tbaa !9
  %2 = load ptr, ptr @a, align 8, !dbg !13, !tbaa !9
  br label %3, !dbg !14

; <label>:3:                                      ; preds = %3, %0
  %indvars.iv = phi i64 [ 0, %0 ], [ %indvars.iv.next, %3 ]
  %4 = getelementptr inbounds i32, ptr %1, i64 %indvars.iv, !dbg !8
  %5 = load i32, ptr %4, align 4, !dbg !8, !tbaa !15
  %6 = getelementptr inbounds i32, ptr %2, i64 %indvars.iv, !dbg !13
  %7 = load i32, ptr %6, align 4, !dbg !17, !tbaa !15
  %8 = add nsw i32 %7, %5, !dbg !17
;PSEUDO_PROBE-COUNT-5: call void @llvm.pseudoprobe(i64 6699318081062747564, i64 2, i32 0, i64 -1), !dbg ![[#PROBE:]]
;DBG_VALUE: #dbg_declare{{.*}} ![[DBG:[0-9]*]]
  call void @llvm.dbg.declare(metadata i32 %8, metadata !22, metadata !DIExpression()), !dbg !17
  store i32 %8, ptr %6, align 4, !dbg !17, !tbaa !15
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1, !dbg !18
  %exitcond = icmp eq i64 %indvars.iv.next, 4096, !dbg !19
  br i1 %exitcond, label %9, label %3, !dbg !14, !llvm.loop !20

; <label>:9:                                      ; preds = %3
  ret void, !dbg !21
}

;DBG_VALUE: ![[TOP:[0-9]*]] = distinct !DISubprogram(name: "foo"
;LOOPVEC_4_1: discriminator: 17
;LOOPVEC_2_3: discriminator: 25
;LOOPUNROLL_5: discriminator: 21
; When unrolling after loop vectorize, both vec_body and remainder loop
; are unrolled.
;LOOPVEC_UNROLL: discriminator: 9
;LOOPVEC_UNROLL: discriminator: 385
;DBG_VALUE: ![[DBG]] = {{.*}}, scope: ![[TOP]]
; Pseudo probe should not have duplication factor assigned.
;PSEUDO_PROBE: ![[TOP:[0-9]*]] = distinct !DISubprogram(name: "foo"
;PSEUDO_PROBE: ![[#PROBE]] = !DILocation(line: 6, column: 13, scope: ![[TOP]])

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

!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, debugInfoForProfiling: true)
!1 = !DIFile(filename: "a.cc", directory: "/")
!3 = !{i32 2, !"Dwarf Version", i32 4}
!4 = !{i32 2, !"Debug Info Version", i32 3}
!6 = distinct !DISubprogram(name: "foo", scope: !1, file: !1, line: 4, unit: !0)
!8 = !DILocation(line: 6, column: 13, scope: !6)
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !11, i64 0}
!11 = !{!"omnipotent char", !12, i64 0}
!12 = !{!"Simple C++ TBAA"}
!13 = !DILocation(line: 6, column: 5, scope: !6)
!14 = !DILocation(line: 5, column: 3, scope: !6)
!15 = !{!16, !16, i64 0}
!16 = !{!"int", !11, i64 0}
!17 = !DILocation(line: 6, column: 10, scope: !6)
!18 = !DILocation(line: 5, column: 30, scope: !6)
!19 = !DILocation(line: 5, column: 21, scope: !6)
!20 = distinct !{!20, !14}
!21 = !DILocation(line: 7, column: 1, scope: !6)
!22 = !DILocalVariable(name: "a", arg: 1, scope: !6, file: !1, line: 10)
