Moved isDeclaration() check further down to allow for function counts for

declarations if necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80084 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andreas Neustifter 2009-08-26 13:33:09 +00:00
parent 383cbff031
commit 3772fb11fe

View File

@ -67,12 +67,15 @@ double ProfileInfo::getExecutionCount(const BasicBlock *BB) {
}
double ProfileInfo::getExecutionCount(const Function *F) {
if (F->isDeclaration()) return MissingValue;
std::map<const Function*, double>::iterator J =
FunctionInformation.find(F);
if (J != FunctionInformation.end())
return J->second;
// isDeclaration() is checked here and not at start of function to allow
// functions without a body still to have a execution count.
if (F->isDeclaration()) return MissingValue;
double Count = getExecutionCount(&F->getEntryBlock());
if (Count != MissingValue) FunctionInformation[F] = Count;
return Count;