r234750 - InstrProf: Simplify getStmtCount by using an Optional
Justin Bogner
mail at justinbogner.com
Mon Apr 13 05:23:20 PDT 2015
Author: bogner
Date: Mon Apr 13 07:23:19 2015
New Revision: 234750
URL: http://llvm.org/viewvc/llvm-project?rev=234750&view=rev
Log:
InstrProf: Simplify getStmtCount by using an Optional
Modified:
cfe/trunk/lib/CodeGen/CodeGenPGO.cpp
cfe/trunk/lib/CodeGen/CodeGenPGO.h
Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenPGO.cpp?rev=234750&r1=234749&r2=234750&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenPGO.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenPGO.cpp Mon Apr 13 07:23:19 2015
@@ -880,12 +880,10 @@ llvm::MDNode *CodeGenPGO::createLoopWeig
if (!haveRegionCounts())
return nullptr;
uint64_t LoopCount = Cnt.getCount();
- uint64_t CondCount = 0;
- bool Found = getStmtCount(Cond, CondCount);
- assert(Found && "missing expected loop condition count");
- (void)Found;
- if (CondCount == 0)
+ Optional<uint64_t> CondCount = getStmtCount(Cond);
+ assert(CondCount.hasValue() && "missing expected loop condition count");
+ if (*CondCount == 0)
return nullptr;
return createBranchWeights(LoopCount,
- std::max(CondCount, LoopCount) - LoopCount);
+ std::max(*CondCount, LoopCount) - LoopCount);
}
Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenPGO.h?rev=234750&r1=234749&r2=234750&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenPGO.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenPGO.h Mon Apr 13 07:23:19 2015
@@ -69,23 +69,20 @@ public:
/// Check if an execution count is known for a given statement. If so, return
/// true and put the value in Count; else return false.
- bool getStmtCount(const Stmt *S, uint64_t &Count) {
+ Optional<uint64_t> getStmtCount(const Stmt *S) {
if (!StmtCountMap)
- return false;
- llvm::DenseMap<const Stmt*, uint64_t>::const_iterator
- I = StmtCountMap->find(S);
+ return None;
+ auto I = StmtCountMap->find(S);
if (I == StmtCountMap->end())
- return false;
- Count = I->second;
- return true;
+ return None;
+ return I->second;
}
/// If the execution count for the current statement is known, record that
/// as the current count.
void setCurrentStmt(const Stmt *S) {
- uint64_t Count;
- if (getStmtCount(S, Count))
- setCurrentRegionCount(Count);
+ if (auto Count = getStmtCount(S))
+ setCurrentRegionCount(*Count);
}
/// Calculate branch weights appropriate for PGO data
More information about the cfe-commits
mailing list