; RUN: opt < %s -passes=instrprof -S -do-counter-promotion=1 -skip-ret-exit-block=1 | FileCheck %s --check-prefixes=CHECK,SKIP
; RUN: opt < %s -passes=instrprof -S -do-counter-promotion=1 -skip-ret-exit-block=0 | FileCheck %s --check-prefixes=CHECK,NOTSKIP

$__llvm_profile_raw_version = comdat any

@bar = dso_local local_unnamed_addr global i32 0, align 4
@__llvm_profile_raw_version = constant i64 72057594037927941, comdat
@__profn_foo = private constant [3 x i8] c"foo"

define dso_local void @foo(i32 %n)  {
entry:
  call void @llvm.instrprof.increment(ptr @__profn_foo, i64 29212902728, i32 2, i32 1)
  br label %for.cond

for.cond:
  %i.0 = phi i32 [ 0, %entry ], [ %inc, %if.end ]
  %cmp = icmp slt i32 %i.0, %n
  %0 = load i32, ptr @bar, align 4
  %tobool.not = icmp eq i32 %0, 0
  %or.cond = and i1 %cmp, %tobool.not
  br i1 %or.cond, label %if.end, label %cleanup

if.end:
  call void @llvm.instrprof.increment(ptr @__profn_foo, i64 29212902728, i32 2, i32 0)
  call void (...) @bar2()
  %inc = add nuw nsw i32 %i.0, 1
  br label %for.cond

cleanup:
; CHECK: cleanup:
; SKIP-NOT:  %pgocount.promoted
; NOTSKIP:  %pgocount.promoted
  ret void
}

declare dso_local void @bar2(...)

declare void @llvm.instrprof.increment(ptr, i64, i32, i32)
