Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 5f5d54bc authored by Valentin Touzeau's avatar Valentin Touzeau Committed by EXT Valentin Touzeau
Browse files

Adds time

parent 9610e24b
// FIXME: Change copyright ?
/* /*
* icat3::MayAnalysis class implementation * icat3::MayAnalysis class implementation
* Copyright (c) 2017, IRIT UPS. * Copyright (c) 2017, IRIT UPS.
...@@ -22,6 +20,7 @@ ...@@ -22,6 +20,7 @@
* 02110-1301 USA * 02110-1301 USA
*/ */
#include <chrono>
#include <otawa/ai/ArrayStore.h> #include <otawa/ai/ArrayStore.h>
#include <otawa/ai/SimpleAI.h> #include <otawa/ai/SimpleAI.h>
#include <otawa/cfg/CompositeCFG.h> #include <otawa/cfg/CompositeCFG.h>
...@@ -30,7 +29,6 @@ ...@@ -30,7 +29,6 @@
#include <otawa/icat3/features.h> #include <otawa/icat3/features.h>
#include <exactlru/features.h> #include <exactlru/features.h>
#include <exactlru/MayAnalysis/MayManager.h> #include <exactlru/MayAnalysis/MayManager.h>
#include <otawalru/features.h>
#include <lrumc/features.h> #include <lrumc/features.h>
#include "../ZDD/MayAbstractValuePolicy.h" #include "../ZDD/MayAbstractValuePolicy.h"
#include "../ZDD/ZDDMayDomainPolicy.h" #include "../ZDD/ZDDMayDomainPolicy.h"
...@@ -144,6 +142,8 @@ protected: ...@@ -144,6 +142,8 @@ protected:
void processWorkSpace(WorkSpace*) override void processWorkSpace(WorkSpace*) override
{ {
auto start = std::chrono::system_clock::now();
std::set<const icat3::LBlock*> toRefine; std::set<const icat3::LBlock*> toRefine;
for(CFGCollection::BlockIter b(m_cfgs); b; b++) { for(CFGCollection::BlockIter b(m_cfgs); b; b++) {
if(!b->isBasic()) if(!b->isBasic())
...@@ -163,6 +163,11 @@ protected: ...@@ -163,6 +163,11 @@ protected:
for(const icat3::LBlock* lb : toRefine) for(const icat3::LBlock* lb : toRefine)
processLBlock(lb); processLBlock(lb);
auto end = std::chrono::system_clock::now();
auto elapsed = std::chrono::duration_cast<std::chrono::seconds>(end - start);
if(logFor(LOG_FUN))
log << "\tExact May Analysis running time: " << elapsed.count() << " s" << io::endl;
// for(int i = 0; i < m_coll->size(); ++i) { // for(int i = 0; i < m_coll->size(); ++i) {
// const icat3::LBlockSet& s = (*m_coll)[i]; // const icat3::LBlockSet& s = (*m_coll)[i];
// for(int j = 0; j < s.size(); ++j) // for(int j = 0; j < s.size(); ++j)
......
...@@ -20,15 +20,16 @@ ...@@ -20,15 +20,16 @@
* 02110-1301 USA * 02110-1301 USA
*/ */
#include <chrono>
#include <otawa/ai/ArrayStore.h> #include <otawa/ai/ArrayStore.h>
#include <otawa/ai/SimpleAI.h> #include <otawa/ai/SimpleAI.h>
#include <otawa/cfg/CompositeCFG.h> #include <otawa/cfg/CompositeCFG.h>
#include <otawa/cfg/features.h> #include <otawa/cfg/features.h>
#include <otawa/icache/features.h> #include <otawa/icache/features.h>
#include <otawa/icat3/features.h> #include <otawa/icat3/features.h>
#include <lrumc/features.h>
#include <exactlru/features.h> #include <exactlru/features.h>
#include <exactlru/MustAnalysis/MustManager.h> #include <exactlru/MustAnalysis/MustManager.h>
#include <lrumc/features.h>
#include "../ZDD/MustAbstractValuePolicy.h" #include "../ZDD/MustAbstractValuePolicy.h"
#include "../ZDD/ZDDMustDomainPolicy.h" #include "../ZDD/ZDDMustDomainPolicy.h"
#include "../GeneratorsSet/GSMustAbstractValuePolicy.h" #include "../GeneratorsSet/GSMustAbstractValuePolicy.h"
...@@ -141,6 +142,8 @@ protected: ...@@ -141,6 +142,8 @@ protected:
void processWorkSpace(WorkSpace*) override void processWorkSpace(WorkSpace*) override
{ {
auto start = std::chrono::system_clock::now();
std::set<const icat3::LBlock*> toRefine; std::set<const icat3::LBlock*> toRefine;
for(CFGCollection::BlockIter b(m_cfgs); b; b++) { for(CFGCollection::BlockIter b(m_cfgs); b; b++) {
if(!b->isBasic()) if(!b->isBasic())
...@@ -160,6 +163,11 @@ protected: ...@@ -160,6 +163,11 @@ protected:
for(const icat3::LBlock* lb : toRefine) for(const icat3::LBlock* lb : toRefine)
processLBlock(lb); processLBlock(lb);
auto end = std::chrono::system_clock::now();
auto elapsed = std::chrono::duration_cast<std::chrono::seconds>(end - start);
if(logFor(LOG_FUN))
log << "\tExact Must Analysis running time: " << elapsed.count() << " s" << io::endl;
// for(int i = 0; i < m_coll->size(); ++i) { // for(int i = 0; i < m_coll->size(); ++i) {
// const icat3::LBlockSet& s = (*m_coll)[i]; // const icat3::LBlockSet& s = (*m_coll)[i];
// for(int j = 0; j < s.size(); ++j) // for(int j = 0; j < s.size(); ++j)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment