Description
diff --git a/llvm/test/Transforms/PGOProfile/Inputs/musttail_pgo-instr-use.proftext b/llvm/test/Transforms/PGOProfile/Inputs/musttail_pgo-instr-use.proftext
new file mode 100644
index 000000000000..9be174fb32bc
--- /dev/null
+++ b/llvm/test/Transforms/PGOProfile/Inputs/musttail_pgo-instr-use.proftext
@@ -0,0 +1,9 @@
+# IR level Instrumentation Flag
+:ir
+foo
+# Func Hash:
+742261418966908927
+# Num Counters:
+1
+# Counter Values:
+1
diff --git a/llvm/test/Transforms/PGOProfile/musttail_pgo-instr-use.ll b/llvm/test/Transforms/PGOProfile/musttail_pgo-instr-use.ll
new file mode 100644
index 000000000000..1d1aa8747971
--- /dev/null
+++ b/llvm/test/Transforms/PGOProfile/musttail_pgo-instr-use.ll
@@ -0,0 +1,12 @@
+; RUN: llvm-profdata merge %S/Inputs/musttail_pgo-instr-use.proftext -o %t.profdata
+; RUN: opt < %s -passes=pgo-instr-use -pgo-test-profile-file=%t.profdata -S
+
+declare ptr @bar()
+
+define ptr @foo() {
+entry:
+ ret ptr null
+
+2:
+ ret ptr null
+}
we get an error:
clang++: ../../llvm/include/llvm/ADT/DenseMap.h:1245: pointer llvm::DenseMapIterator<const llvm::BasicBlock *, std::unique_ptr<(anonymous namespace)::PGOUseBBInfo>, llvm::DenseMapInfo<const llvm::BasicBlock *>, llvm::detail::DenseMapPair<const llvm::BasicBlock *, std::unique_ptr<(anonymous namespace)::PGOUseBBInfo>>, true>::operator->() const [KeyT = const llvm::BasicBlock *, V
alueT = std::unique_ptr<(anonymous namespace)::PGOUseBBInfo>, KeyInfoT = llvm::DenseMapInfo<const llvm::BasicBlock *>, Bucket = llvm::detail::DenseMapPair<const llvm::BasicBlock *, std::uniq
ue_ptr<(anonymous namespace)::PGOUseBBInfo>>, IsConst = true]: Assertion `Ptr != End && "dereferencing end() iterator"' failed.