AEStat: Statistic for AE.
More...
#include <AbstractInterpretation.h>
AEStat: Statistic for AE.
Definition at line 53 of file AbstractInterpretation.h.
◆ AEStat()
Definition at line 57 of file AbstractInterpretation.h.
58 {
60 }
AbstractInterpretation * _ae
static double getClk(bool mark=false)
llvm::IRBuilder IRBuilder
◆ ~AEStat()
◆ countStateSize()
| void AEStat::countStateSize |
( |
| ) |
|
◆ finializeStat()
| void AEStat::finializeStat |
( |
| ) |
|
Definition at line 1184 of file AbstractInterpretation.cpp.
1185{
1188 {
1193 }
1195
1198
1199
1202
1203
1205 {
1208 }
1209 else
1210 {
1212 }
1213
1218 for (
const auto &
it: *
_ae->svfir->getICFG())
1219 {
1220 if (
it.second->getFun())
1221 {
1222 funs.insert(
it.second->getFun());
1223
1225 {
1227 }
1228 }
1230 {
1232 {
1234 }
1235 else
1236 {
1238 }
1239 }
1240 }
1243
1244
1245 if (
funs.size() > 0)
1246 {
1249 }
1250 else
1251 {
1253 }
1254
1258
1259}
std::string getMemUsage()
SVFIR * svfir
protected data members, also used in subclasses
Set< const ICFGNode * > allAnalyzedNodes
u32_t nodeNum
total num of edge
bool isExtCall(const FunObjVar *fun)
◆ getBlockTrace()
| u32_t & SVF::AEStat::getBlockTrace |
( |
| ) |
|
|
inline |
◆ getFunctionTrace()
| u32_t & SVF::AEStat::getFunctionTrace |
( |
| ) |
|
|
inline |
◆ getICFGNodeTrace()
| u32_t & SVF::AEStat::getICFGNodeTrace |
( |
| ) |
|
|
inline |
◆ getMemUsage()
| std::string SVF::AEStat::getMemUsage |
( |
| ) |
|
|
inline |
Definition at line 64 of file AbstractInterpretation.h.
65 {
68 }
bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)
Get memory usage from system file. Return TRUE if succeed.
◆ performStat()
| void AEStat::performStat |
( |
| ) |
|
|
overridevirtual |
Implements SVF::SVFStat.
Definition at line 1261 of file AbstractInterpretation.cpp.
1262{
1266 if (
fullName.find(
'/') == std::string::npos)
1267 {
1270 }
1271 else
1272 {
1275 }
1276
1282 {
1283
1284 if (
it->first ==
"ICFG_Coverage_Percent" ||
it->first ==
"Func_Coverage_Percent")
1285 {
1287 std::cout << std::setw(
field_width) <<
it->first << std::fixed << std::setprecision(2) <<
percent <<
"%\n";
1288 }
1289 else
1290 {
1291 std::cout << std::setw(
field_width) <<
it->first <<
it->second <<
"\n";
1292 }
1293 }
1294 SVFUtil::outs() <<
"-------------------------------------------------------\n";
1296 {
1297
1299 }
1301
1302 SVFUtil::outs() <<
"#######################################################" << std::endl;
1304}
std::ostream & outs()
Overwrite llvm::outs()
◆ _ae
◆ count
| s32_t SVF::AEStat::count {0} |
◆ memory_usage
| std::string SVF::AEStat::memory_usage |
◆ memUsage
| std::string SVF::AEStat::memUsage |
The documentation for this class was generated from the following files: