; TEST that counter updates are promoted outside the whole loop nest
; RUN: opt < %s --passes=pgo-instr-gen,instrprof -do-counter-promotion=true -S | FileCheck --check-prefix=PROMO  %s 

@g = common local_unnamed_addr global i32 0, align 4
@c = local_unnamed_addr global i32 10, align 4

; Function Attrs: noinline norecurse nounwind uwtable
define void @bar() local_unnamed_addr #0 {
bb:
  %tmp2 = load i32, ptr @g, align 4, !tbaa !2
  %tmp3 = add nsw i32 %tmp2, 1
  store i32 %tmp3, ptr @g, align 4, !tbaa !2
  ret void
}

; Function Attrs: norecurse nounwind uwtable
define i32 @main() local_unnamed_addr #1 {
bb:
  store i32 0, ptr @g, align 4, !tbaa !2
  %tmp = load i32, ptr @c, align 4, !tbaa !2
  %tmp1 = icmp sgt i32 %tmp, 0
  br i1 %tmp1, label %bb2_1, label %bb84

bb2_1:
  br label %bb2

bb2:                                              ; preds = %bb39, %bb
  %tmp3 = phi i32 [ %tmp40, %bb39 ], [ %tmp, %bb2_1 ]
  %tmp5 = phi i32 [ %tmp43, %bb39 ], [ 0, %bb2_1 ]
  %tmp7 = icmp sgt i32 %tmp3, 0
  br i1 %tmp7, label %bb14_1, label %bb39

bb8:                                              ; preds = %bb39
; PROMO-LABEL: bb8
; PROMO: load {{.*}} @__profc_main{{.*}}
; PROMO-NEXT: add
; PROMO-NEXT: store {{.*}}@__profc_main{{.*}}
; PROMO-NEXT: load {{.*}} @__profc_main{{.*}}
; PROMO-NEXT: add
; PROMO-NEXT: store {{.*}}@__profc_main{{.*}}
; PROMO-NEXT: load {{.*}} @__profc_main{{.*}}
; PROMO-NEXT: add
; PROMO-NEXT: store {{.*}}@__profc_main{{.*}}
; PROMO-NEXT: load {{.*}} @__profc_main{{.*}}
; PROMO-NEXT: add
; PROMO-NEXT: store {{.*}}@__profc_main{{.*}}
; PROMO-NEXT: load {{.*}} @__profc_main{{.*}}
; PROMO-NEXT: add
; PROMO-NEXT: store {{.*}}@__profc_main{{.*}}

  %tmp13 = icmp sgt i32 %tmp40, 0
  br i1 %tmp13, label %bb45, label %bb84

bb14_1:
  br label %bb14

bb14:                                             ; preds = %bb29, %bb2
  %tmp15 = phi i32 [ %tmp30, %bb29 ], [ %tmp3, %bb14_1 ]
  %tmp16 = phi i64 [ %tmp31, %bb29 ], [ 0, %bb14_1 ]
  %tmp17 = phi i64 [ %tmp32, %bb29 ], [ 0, %bb14_1 ]
  %tmp18 = phi i32 [ %tmp33, %bb29 ], [ 0, %bb14_1 ]
  %tmp19 = icmp sgt i32 %tmp15, 0
  br i1 %tmp19, label %bb20_split, label %bb29

bb20_split:                                             
 br label %bb20

bb20:                                             ; preds = %bb20, %bb14
  %tmp21 = phi i64 [ %tmp23, %bb20 ], [ 0, %bb20_split ]
  %tmp22 = phi i32 [ %tmp24, %bb20 ], [ 0, %bb20_split ]
  %tmp23 = add nuw i64 %tmp21, 1
  tail call void @bar()
  %tmp24 = add nuw nsw i32 %tmp22, 1
  %tmp25 = load i32, ptr @c, align 4, !tbaa !2
  %tmp26 = icmp slt i32 %tmp24, %tmp25
  br i1 %tmp26, label %bb20, label %bb27

bb27:                                             ; preds = %bb20
  %tmp28 = add i64 %tmp23, %tmp16
  br label %bb29

bb29:                                             ; preds = %bb27, %bb14
  %tmp30 = phi i32 [ %tmp25, %bb27 ], [ %tmp15, %bb14 ]
  %tmp31 = phi i64 [ %tmp28, %bb27 ], [ %tmp16, %bb14 ]
  %tmp32 = add nuw i64 %tmp17, 1
  %tmp33 = add nuw nsw i32 %tmp18, 1
  %tmp34 = icmp slt i32 %tmp33, %tmp30
  br i1 %tmp34, label %bb14, label %bb35

bb35:                                             ; preds = %bb29
  %tmp36 = insertelement <2 x i64> poison, i64 %tmp31, i32 0
  br label %bb39

bb39:                                             ; preds = %bb35, %bb2
  %tmp40 = phi i32 [ %tmp30, %bb35 ], [ %tmp3, %bb2 ]
  %tmp43 = add nuw nsw i32 %tmp5, 1
  %tmp44 = icmp slt i32 %tmp43, %tmp40
  br i1 %tmp44, label %bb2, label %bb8

bb45:                                             ; preds = %bb67, %bb8
  %tmp46 = phi i32 [ %tmp68, %bb67 ], [ %tmp40, %bb8 ]
  %tmp47 = phi i64 [ %tmp69, %bb67 ], [ 0, %bb8 ]
  %tmp48 = phi i64 [ %tmp70, %bb67 ], [ 0, %bb8 ]
  %tmp49 = phi i32 [ %tmp71, %bb67 ], [ 0, %bb8 ]
  %tmp50 = icmp sgt i32 %tmp46, 0
  br i1 %tmp50, label %bb57, label %bb67

bb51:                                             ; preds = %bb67
  %tmp56 = icmp sgt i32 %tmp68, 0
  br i1 %tmp56, label %bb73, label %bb84

bb57:                                             ; preds = %bb57, %bb45
  %tmp58 = phi i64 [ %tmp60, %bb57 ], [ 0, %bb45 ]
  %tmp59 = phi i32 [ %tmp61, %bb57 ], [ 0, %bb45 ]
  %tmp60 = add nuw i64 %tmp58, 1
  tail call void @bar()
  %tmp61 = add nuw nsw i32 %tmp59, 1
  %tmp62 = load i32, ptr @c, align 4, !tbaa !2
  %tmp63 = mul nsw i32 %tmp62, 10
  %tmp64 = icmp slt i32 %tmp61, %tmp63
  br i1 %tmp64, label %bb57, label %bb65

bb65:                                             ; preds = %bb57
  %tmp66 = add i64 %tmp60, %tmp47
  br label %bb67

bb67:                                             ; preds = %bb65, %bb45
  %tmp68 = phi i32 [ %tmp62, %bb65 ], [ %tmp46, %bb45 ]
  %tmp69 = phi i64 [ %tmp66, %bb65 ], [ %tmp47, %bb45 ]
  %tmp70 = add nuw i64 %tmp48, 1
  %tmp71 = add nuw nsw i32 %tmp49, 1
  %tmp72 = icmp slt i32 %tmp71, %tmp68
  br i1 %tmp72, label %bb45, label %bb51

bb73:                                             ; preds = %bb73, %bb51
  %tmp74 = phi i64 [ %tmp76, %bb73 ], [ 0, %bb51 ]
  %tmp75 = phi i32 [ %tmp77, %bb73 ], [ 0, %bb51 ]
  %tmp76 = add nuw i64 %tmp74, 1
  tail call void @bar()
  %tmp77 = add nuw nsw i32 %tmp75, 1
  %tmp78 = load i32, ptr @c, align 4, !tbaa !2
  %tmp79 = mul nsw i32 %tmp78, 100
  %tmp80 = icmp slt i32 %tmp77, %tmp79
  br i1 %tmp80, label %bb73, label %bb81

bb81:                                             ; preds = %bb73
  br label %bb84

bb84:                                             ; preds = %bb81, %bb51, %bb8, %bb
  ret i32 0
}

attributes #0 = { noinline }
attributes #1 = { norecurse nounwind uwtable } 

!llvm.module.flags = !{!0}
!llvm.ident = !{!1}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{!"clang version 5.0.0 (trunk 307355)"}
!2 = !{!3, !3, i64 0}
!3 = !{!"int", !4, i64 0}
!4 = !{!"omnipotent char", !5, i64 0}
!5 = !{!"Simple C/C++ TBAA"}
