Commit ec418314 authored by Maeva Ramarjiaona's avatar Maeva Ramarjiaona

basic tool works, some improvements could be made in the way the information is displayed.

parent 25ffb5fc
......@@ -10,7 +10,7 @@ class ACSSecurity
{
public:
ACSSecurity(){
_acs = *new otawa::icat3::ACS();
_acs = otawa::icat3::ACS();
};
inline ACSSecurity(otawa::icat3::ACS acs) {
_acs = acs;
......
......@@ -45,7 +45,7 @@ private:
extern otawa::p::feature EXIST_HIT_PREV_ANALYSIS_FEATURE;
/**
* ACS for the Exist-Hit analysis at the entry of the corresponding block or edge.
* ACSSecurity for the Exist-Hit analysis at the entry of the corresponding block or edge.
*
* @par Feature
* @li @ref EXIST_HIT_ANALYSIS_PREV_FEATURE
......
......@@ -60,7 +60,7 @@ void ExistHitPrevAnalysis::setup(WorkSpace* ws)
auto end = std::chrono::system_clock::now();
auto elapsed = std::chrono::duration_cast<std::chrono::seconds>(end - start);
if(logFor(LOG_FUN))
log << "\tExist Hit Analysis running time: " << elapsed.count() << " s" << io::endl;
log << "\tExist Hit Prev Analysis running time: " << elapsed.count() << " s" << io::endl;
}
void ExistHitPrevAnalysis::destroy(WorkSpace*)
......
......@@ -27,25 +27,26 @@ bool ExistHitPrevDomain::equals(const t& acss, const t& bcss) const
for(int i = 0; i < _n; i++)
if(a[i] != b[i])
return false;
for (int i = 0; i < _n; i++)
if (acss._prev != bcss._prev)
return false;
return true;
}
void ExistHitPrevDomain::join(t& dcss, const t& scss)
{
icat3::ACS d = dcss._acs;
icat3::ACS s = scss._acs;
icat3::ACS& d = dcss._acs;
const icat3::ACS& s = scss._acs;
for(int i = 0; i < _n; i++) {
// d[i] = min(d[i], s[i])
if(d[i] == icat3::BOT_AGE)
d[i] = s[i];
else if(s[i] != icat3::BOT_AGE)
d[i] = min(d[i], s[i]);
}
//join of the Prev is a union
int fullsize = dcss._prev.size()+scss._prev.size();
Bag<icache::Access> newbag = *new Bag<icache::Access>(fullsize);
Bag<icache::Access> newbag = Bag<icache::Access>(fullsize);
for (int i = 0 ; i < fullsize; ++i){
if (i < dcss._prev.size())
newbag[i] = dcss._prev[i];
......
......@@ -110,7 +110,7 @@ protected:
if (bb->hasProp(EXIST_HIT_PREV_IN)) {
Bag<icache::Access> prev = (*EXIST_HIT_PREV_IN(bb))[set]._prev;
for (int i = 0; i < prev.size(); ++i)
_out <<"blabla";
_out << prev[i].address();
}
}
else
......
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