[clang] 55b9b11 - Don't assert about missing profile info in createProfileWeightsForLoop
Hans Wennborg via cfe-commits
cfe-commits at lists.llvm.org
Tue May 5 10:04:07 PDT 2020
Author: Hans Wennborg
Date: 2020-05-05T18:59:00+02:00
New Revision: 55b9b11fea3e18b6826c39842bc43877d9eb57fd
URL: https://github.com/llvm/llvm-project/commit/55b9b11fea3e18b6826c39842bc43877d9eb57fd
DIFF: https://github.com/llvm/llvm-project/commit/55b9b11fea3e18b6826c39842bc43877d9eb57fd.diff
LOG: Don't assert about missing profile info in createProfileWeightsForLoop
The compiler shouldn't crash if the profile info is slightly off. We hit
this in Chromium.
Differential revision: https://reviews.llvm.org/D79417
Added:
Modified:
clang/lib/CodeGen/CodeGenPGO.cpp
Removed:
################################################################################
diff --git a/clang/lib/CodeGen/CodeGenPGO.cpp b/clang/lib/CodeGen/CodeGenPGO.cpp
index bad796bf92dc..3c91a04d5464 100644
--- a/clang/lib/CodeGen/CodeGenPGO.cpp
+++ b/clang/lib/CodeGen/CodeGenPGO.cpp
@@ -1051,8 +1051,7 @@ llvm::MDNode *CodeGenFunction::createProfileWeightsForLoop(const Stmt *Cond,
if (!PGO.haveRegionCounts())
return nullptr;
Optional<uint64_t> CondCount = PGO.getStmtCount(Cond);
- assert(CondCount.hasValue() && "missing expected loop condition count");
- if (*CondCount == 0)
+ if (!CondCount || *CondCount == 0)
return nullptr;
return createProfileWeights(LoopCount,
std::max(*CondCount, LoopCount) - LoopCount);
More information about the cfe-commits
mailing list