]> granicus.if.org Git - clang/commitdiff
[StaticAnalyzer] Move inline counter increaser to inlineCall function
authorPeter Szecsi <szepet95@gmail.com>
Tue, 16 May 2017 11:54:00 +0000 (11:54 +0000)
committerPeter Szecsi <szepet95@gmail.com>
Tue, 16 May 2017 11:54:00 +0000 (11:54 +0000)
Even though the shouldInlineCall function returns true, it can happen that the
function is not going to be inlined (as it can be seen at line 913 and below).
Moved the bumpNumTimesInlined(D) (the counter increaser) call to the inlineCall
function where it logically belongs.

Differential Revision: https://reviews.llvm.org/D32179

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303158 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp

index 39d88bfda14864dbfa3137b7a21e4b018a4746e6..caf86b26b66d33a531948c27a5376b881586433d 100644 (file)
@@ -447,6 +447,7 @@ bool ExprEngine::inlineCall(const CallEvent &Call, const Decl *D,
   Bldr.takeNodes(Pred);
 
   NumInlinedCalls++;
+  Engine.FunctionSummaries->bumpNumTimesInlined(D);
 
   // Mark the decl as visited.
   if (VisitedCallees)
@@ -868,8 +869,6 @@ bool ExprEngine::shouldInlineCall(const CallEvent &Call, const Decl *D,
       || IsRecursive))
     return false;
 
-  Engine.FunctionSummaries->bumpNumTimesInlined(D);
-
   return true;
 }