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