1*e5dd7070Spatrick //===- FunctionSummary.cpp - Stores summaries of functions. ---------------===// 2*e5dd7070Spatrick // 3*e5dd7070Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*e5dd7070Spatrick // See https://llvm.org/LICENSE.txt for license information. 5*e5dd7070Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*e5dd7070Spatrick // 7*e5dd7070Spatrick //===----------------------------------------------------------------------===// 8*e5dd7070Spatrick // 9*e5dd7070Spatrick // This file defines a summary of a function gathered/used by static analysis. 10*e5dd7070Spatrick // 11*e5dd7070Spatrick //===----------------------------------------------------------------------===// 12*e5dd7070Spatrick 13*e5dd7070Spatrick #include "clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h" 14*e5dd7070Spatrick 15*e5dd7070Spatrick using namespace clang; 16*e5dd7070Spatrick using namespace ento; 17*e5dd7070Spatrick getTotalNumBasicBlocks()18*e5dd7070Spatrickunsigned FunctionSummariesTy::getTotalNumBasicBlocks() { 19*e5dd7070Spatrick unsigned Total = 0; 20*e5dd7070Spatrick for (const auto &I : Map) 21*e5dd7070Spatrick Total += I.second.TotalBasicBlocks; 22*e5dd7070Spatrick return Total; 23*e5dd7070Spatrick } 24*e5dd7070Spatrick getTotalNumVisitedBasicBlocks()25*e5dd7070Spatrickunsigned FunctionSummariesTy::getTotalNumVisitedBasicBlocks() { 26*e5dd7070Spatrick unsigned Total = 0; 27*e5dd7070Spatrick for (const auto &I : Map) 28*e5dd7070Spatrick Total += I.second.VisitedBasicBlocks.count(); 29*e5dd7070Spatrick return Total; 30*e5dd7070Spatrick } 31