xref: /llvm-project/clang/lib/StaticAnalyzer/Core/FunctionSummary.cpp (revision 2946cd701067404b99c39fb29dc9c74bd7193eb3)
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 Zaks unsigned 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 Zaks unsigned 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