Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
lruzdd
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Touzeau
lruzdd
Commits
b9d3201d
Commit
b9d3201d
authored
Dec 09, 2018
by
EXT Valentin Touzeau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename module
parent
7bb6edb5
Changes
35
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
173 additions
and
156 deletions
+173
-156
CMakeLists.txt
CMakeLists.txt
+3
-3
include/lruzdd/CacheState.h
include/lruzdd/CacheState.h
+7
-7
include/lruzdd/Generator.h
include/lruzdd/Generator.h
+5
-5
include/lruzdd/MayAnalysis/MayAbstractValue.h.old
include/lruzdd/MayAnalysis/MayAbstractValue.h.old
+0
-0
include/lruzdd/MayAnalysis/MayManager.h
include/lruzdd/MayAnalysis/MayManager.h
+5
-5
include/lruzdd/MustAnalysis/MustAbstractValue.h.old
include/lruzdd/MustAnalysis/MustAbstractValue.h.old
+0
-0
include/lruzdd/MustAnalysis/MustManager.h
include/lruzdd/MustAnalysis/MustManager.h
+5
-5
include/lruzdd/features.h
include/lruzdd/features.h
+9
-9
lruzdd.eld
lruzdd.eld
+1
-1
src/AbstractValue.h
src/AbstractValue.h
+5
-5
src/ClassificationBuilder.cpp
src/ClassificationBuilder.cpp
+4
-4
src/Domain.h
src/Domain.h
+5
-5
src/GeneratorsSet/GSAbstractValue.h
src/GeneratorsSet/GSAbstractValue.h
+6
-6
src/GeneratorsSet/GSMayAbstractValuePolicy.cpp
src/GeneratorsSet/GSMayAbstractValuePolicy.cpp
+2
-2
src/GeneratorsSet/GSMayAbstractValuePolicy.h
src/GeneratorsSet/GSMayAbstractValuePolicy.h
+5
-5
src/GeneratorsSet/GSMayDomainPolicy.h
src/GeneratorsSet/GSMayDomainPolicy.h
+5
-5
src/GeneratorsSet/GSMustAbstractValuePolicy.cpp
src/GeneratorsSet/GSMustAbstractValuePolicy.cpp
+2
-2
src/GeneratorsSet/GSMustAbstractValuePolicy.h
src/GeneratorsSet/GSMustAbstractValuePolicy.h
+5
-5
src/GeneratorsSet/GSMustDomainPolicy.h
src/GeneratorsSet/GSMustDomainPolicy.h
+5
-5
src/MayAnalysis/GlobalMayAnalysis.cpp
src/MayAnalysis/GlobalMayAnalysis.cpp
+5
-5
src/MayAnalysis/MayAnalysis.cpp
src/MayAnalysis/MayAnalysis.cpp
+12
-12
src/MustAnalysis/GlobalMustAnalysis.cpp
src/MustAnalysis/GlobalMustAnalysis.cpp
+5
-5
src/MustAnalysis/MustAnalysis.cpp
src/MustAnalysis/MustAnalysis.cpp
+12
-12
src/ZDD/MayAbstractValuePolicy.cpp
src/ZDD/MayAbstractValuePolicy.cpp
+2
-2
src/ZDD/MayAbstractValuePolicy.h
src/ZDD/MayAbstractValuePolicy.h
+5
-5
src/ZDD/MustAbstractValuePolicy.cpp
src/ZDD/MustAbstractValuePolicy.cpp
+2
-2
src/ZDD/MustAbstractValuePolicy.h
src/ZDD/MustAbstractValuePolicy.h
+5
-5
src/ZDD/ZDD.cpp
src/ZDD/ZDD.cpp
+2
-2
src/ZDD/ZDD.h
src/ZDD/ZDD.h
+5
-5
src/ZDD/ZDDAbstractValue.h
src/ZDD/ZDDAbstractValue.h
+5
-5
src/ZDD/ZDDManager.cpp
src/ZDD/ZDDManager.cpp
+2
-2
src/ZDD/ZDDManager.h
src/ZDD/ZDDManager.h
+5
-5
src/ZDD/ZDDMayDomainPolicy.h
src/ZDD/ZDDMayDomainPolicy.h
+5
-5
src/ZDD/ZDDMustDomainPolicy.h
src/ZDD/ZDDMustDomainPolicy.h
+5
-5
src/lruzdd.cpp
src/lruzdd.cpp
+17
-0
No files found.
CMakeLists.txt
View file @
b9d3201d
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.6
)
# configuration
set
(
PLUGIN
"
exactlru
"
)
# plugin name
set
(
PLUGIN
"
lruzdd
"
)
# plugin name
set
(
NAMESPACE
""
)
# namespace
set
(
SOURCES
"src/
exactlru
.cpp"
set
(
SOURCES
"src/
lruzdd
.cpp"
"src/MayAnalysis/MayAnalysis.cpp"
"src/MustAnalysis/MustAnalysis.cpp"
"src/MayAnalysis/GlobalMayAnalysis.cpp"
...
...
@@ -65,5 +65,5 @@ target_link_libraries(${PLUGIN} PUBLIC "${OTAWA_LDFLAGS}" cudd_core cudd_epd cud
# installation
set
(
PLUGIN_PATH
"
${
OTAWA_PREFIX
}
/lib/otawa/
${
NAMESPACE
}
"
)
install
(
TARGETS
${
PLUGIN
}
LIBRARY DESTINATION
${
PLUGIN_PATH
}
)
install
(
DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/include/
exactlru
"
DESTINATION
"
${
OTAWA_PREFIX
}
/include"
)
install
(
DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/include/
lruzdd
"
DESTINATION
"
${
OTAWA_PREFIX
}
/include"
)
install
(
FILES
${
PLUGIN
}
.eld DESTINATION
${
PLUGIN_PATH
}
)
include/
exactlru
/CacheState.h
→
include/
lruzdd
/CacheState.h
View file @
b9d3201d
#ifndef
EXACTLRU
_CACHESTATE_H
#define
EXACTLRU
_CACHESTATE_H
#ifndef
LRUZDD
_CACHESTATE_H
#define
LRUZDD
_CACHESTATE_H
#include <elm/io/Output.h>
#include <otawa/icat3/features.h>
#include <otawa/icache/features.h>
#include <
exactlru
/ExactMust/ExactMustDomain.h>
#include <
exactlru
/ExactMay/ExactMayDomain.h>
#include <
lruzdd
/ExactMust/ExactMustDomain.h>
#include <
lruzdd
/ExactMay/ExactMayDomain.h>
namespace
exactlru
namespace
lruzdd
{
class
CacheState
{
...
...
@@ -55,6 +55,6 @@ private:
typename
ExactMayDomain
::
t
m_mayState
;
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif //
EXACTLRU
_CACHESTATE_H
#endif //
LRUZDD
_CACHESTATE_H
include/
exactlru
/Generator.h
→
include/
lruzdd
/Generator.h
View file @
b9d3201d
#ifndef GENERATORS_H
#define GENERATORS_H
#ifndef
LRUZDD_
GENERATORS_H
#define
LRUZDD_
GENERATORS_H
#include <set>
#include <otawa/icat3/features.h>
namespace
exactlru
namespace
lruzdd
{
class
LexicalOrder
;
...
...
@@ -75,6 +75,6 @@ public:
}
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // GENERATORS_H
#endif //
LRUZDD_
GENERATORS_H
include/
exactlru
/MayAnalysis/MayAbstractValue.h.old
→
include/
lruzdd
/MayAnalysis/MayAbstractValue.h.old
View file @
b9d3201d
File moved
include/
exactlru
/MayAnalysis/MayManager.h
→
include/
lruzdd
/MayAnalysis/MayManager.h
View file @
b9d3201d
#ifndef MAY_MANAGER_H
#define MAY_MANAGER_H
#ifndef
LRUZDD_
MAY_MANAGER_H
#define
LRUZDD_
MAY_MANAGER_H
namespace
exactlru
namespace
lruzdd
{
template
<
typename
MayDomain
>
...
...
@@ -41,6 +41,6 @@ private:
Value
m_current
;
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // MAY_MANAGER_H
#endif //
LRUZDD_
MAY_MANAGER_H
include/
exactlru
/MustAnalysis/MustAbstractValue.h.old
→
include/
lruzdd
/MustAnalysis/MustAbstractValue.h.old
View file @
b9d3201d
File moved
include/
exactlru
/MustAnalysis/MustManager.h
→
include/
lruzdd
/MustAnalysis/MustManager.h
View file @
b9d3201d
#ifndef MUST_MANAGER_H
#define MUST_MANAGER_H
#ifndef
LRUZDD_
MUST_MANAGER_H
#define
LRUZDD_
MUST_MANAGER_H
namespace
exactlru
namespace
lruzdd
{
template
<
typename
MustDomain
>
...
...
@@ -41,6 +41,6 @@ private:
Value
m_current
;
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // MAY_MANAGER_H
#endif //
LRUZDD_
MAY_MANAGER_H
include/
exactlru
/features.h
→
include/
lruzdd
/features.h
View file @
b9d3201d
//FIXME: Change copyright
/*
* features of
exactlru
* features of
lruzdd
* Copyright (c) 2016, IRIT UPS.
*
* This file is part of OTAWA
...
...
@@ -21,8 +21,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef
EXACTLRU
_FEATURES_H_
#define
EXACTLRU
_FEATURES_H_
#ifndef
LRUZDD
_FEATURES_H_
#define
LRUZDD
_FEATURES_H_
#include <unordered_map>
...
...
@@ -33,11 +33,11 @@
#include <otawa/icat3/features.h>
#include <otawa/proc/Feature.h>
//#include <
exactlru
/CacheState.h>
//#include <
exactlru
/ExactMust/ExactMustAbstractValue.h>
//#include <
exactlru
/MayAnalysis/MayAbstractValue.h>
//#include <
lruzdd
/CacheState.h>
//#include <
lruzdd
/ExactMust/ExactMustAbstractValue.h>
//#include <
lruzdd
/MayAnalysis/MayAbstractValue.h>
namespace
exactlru
namespace
lruzdd
{
template
<
class
T
>
...
...
@@ -92,6 +92,6 @@ extern otawa::p::id<MissCategory> MISS_CATEGORY;
//extern otawa::p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_INIT;
//extern otawa::p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_IN;
}
// namespace
exactlru
}
// namespace
lruzdd
#endif
/*
EXACTLRU
_FEATURES_H_ */
#endif
/*
LRUZDD
_FEATURES_H_ */
exactlru
.eld
→
lruzdd
.eld
View file @
b9d3201d
[elm-plugin]
name=
exactlru
name=
lruzdd
deps=otawa/icat3;otawalru;lrumc
description=Perform an exact May/Must analysis of L1 I cache
author=Valentin Touzeau
src/AbstractValue.h
View file @
b9d3201d
#ifndef ABSTRACT_VALUE_H
#define ABSTRACT_VALUE_H
#ifndef
LRUZDD_
ABSTRACT_VALUE_H
#define
LRUZDD_
ABSTRACT_VALUE_H
namespace
exactlru
namespace
lruzdd
{
template
<
typename
AbstractValuePolicy
>
...
...
@@ -16,6 +16,6 @@ public:
AbstractValue
(
const
otawa
::
icat3
::
LBlock
*
focus
,
const
otawa
::
icat3
::
LBlockCollection
&
coll
,
int
set
);
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // ABSTRACT_VALUE_H
#endif //
LRUZDD_
ABSTRACT_VALUE_H
src/ClassificationBuilder.cpp
View file @
b9d3201d
#include <
exactlru
/features.h>
#include <
lruzdd
/features.h>
#include <otawa/proc/BBProcessor.h>
#include <otawa/icat3/features.h>
...
...
@@ -8,7 +8,7 @@
using
namespace
otawa
;
namespace
exactlru
namespace
lruzdd
{
class
ClassificationBuilder
:
public
BBProcessor
...
...
@@ -61,12 +61,12 @@ protected:
}
};
p
::
declare
ClassificationBuilder
::
reg
=
p
::
init
(
"
exactlru
::ClassificationBuilder"
,
Version
(
1
,
0
,
0
))
p
::
declare
ClassificationBuilder
::
reg
=
p
::
init
(
"
lruzdd
::ClassificationBuilder"
,
Version
(
1
,
0
,
0
))
.
require
(
icache
::
ACCESSES_FEATURE
)
.
require
(
EXACT_MAY_ANALYSIS_FEATURE
)
.
require
(
EXACT_MUST_ANALYSIS_FEATURE
)
.
provide
(
otawalru
::
LRU_CLASSIFICATION_FEATURE
)
.
make
<
ClassificationBuilder
>
();
}
// namespace
exactlru
}
// namespace
lruzdd
src/Domain.h
View file @
b9d3201d
#ifndef
EXACTLRU_
ZDD_DOMAIN_H_
#define
EXACTLRU_
ZDD_DOMAIN_H_
#ifndef
LRU
ZDD_DOMAIN_H_
#define
LRU
ZDD_DOMAIN_H_
#include <otawa/icat3/features.h>
#include <otawa/icache/features.h>
...
...
@@ -7,7 +7,7 @@
#include "ZDD/ZDDAbstractValue.h"
#include "GeneratorsSet/GSAbstractValue.h"
namespace
exactlru
namespace
lruzdd
{
template
<
typename
DomainPolicy
>
...
...
@@ -81,7 +81,7 @@ private:
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif
/*
EXACTLRU_
ZDD_DOMAIN_H_ */
#endif
/*
LRU
ZDD_DOMAIN_H_ */
src/GeneratorsSet/GSAbstractValue.h
View file @
b9d3201d
#ifndef GS_ABSTRACT_VALUE_H
#define GS_ABSTRACT_VALUE_H
#ifndef
LRUZDD_
GS_ABSTRACT_VALUE_H
#define
LRUZDD_
GS_ABSTRACT_VALUE_H
#include <set>
#include <
exactlru
/Generator.h>
#include <
lruzdd
/Generator.h>
namespace
exactlru
namespace
lruzdd
{
template
<
typename
AbstractValuePolicy
>
...
...
@@ -71,7 +71,7 @@ inline bool GSAbstractValue<AbstractValuePolicy>::operator!=(const GSAbstractVal
return
!
(
*
this
==
rhs
);
}
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // GS_ABSTRACT_VALUE_H
#endif //
LRUZDD_
GS_ABSTRACT_VALUE_H
src/GeneratorsSet/GSMayAbstractValuePolicy.cpp
View file @
b9d3201d
...
...
@@ -2,7 +2,7 @@
#include "GSMayDomainPolicy.h"
namespace
exactlru
namespace
lruzdd
{
bool
GSMayAbstractValuePolicy
::
isAlwaysMiss
(
const
GSMayDomainPolicy
&
)
const
...
...
@@ -15,5 +15,5 @@ bool GSMayAbstractValuePolicy::isAlwaysMiss(const GSMayDomainPolicy&) const
return
true
;
}
}
// namespace
exactlru
}
// namespace
lruzdd
src/GeneratorsSet/GSMayAbstractValuePolicy.h
View file @
b9d3201d
#ifndef GS_MAY_ABSTRACT_VALUE_POLICY_H
#define GS_MAY_ABSTRACT_VALUE_POLICY_H
#ifndef
LRUZDD_
GS_MAY_ABSTRACT_VALUE_POLICY_H
#define
LRUZDD_
GS_MAY_ABSTRACT_VALUE_POLICY_H
#include "GSAbstractValue.h"
namespace
exactlru
namespace
lruzdd
{
class
GSMayDomainPolicy
;
...
...
@@ -25,6 +25,6 @@ public:
bool
isAlwaysMiss
(
const
GSMayDomainPolicy
&
)
const
;
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // GS_MAY_ABSTRACT_VALUE_POLICY_H
#endif //
LRUZDD_
GS_MAY_ABSTRACT_VALUE_POLICY_H
src/GeneratorsSet/GSMayDomainPolicy.h
View file @
b9d3201d
#ifndef GS_MAY_DOMAIN_POLICY_H
#define GS_MAY_DOMAIN_POLICY_H
#ifndef
LRUZDD_
GS_MAY_DOMAIN_POLICY_H
#define
LRUZDD_
GS_MAY_DOMAIN_POLICY_H
namespace
exactlru
namespace
lruzdd
{
class
GSMayDomainPolicy
...
...
@@ -40,6 +40,6 @@ public:
}
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // GS_MAY_DOMAIN_POLICY_H
#endif //
LRUZDD_
GS_MAY_DOMAIN_POLICY_H
src/GeneratorsSet/GSMustAbstractValuePolicy.cpp
View file @
b9d3201d
...
...
@@ -2,7 +2,7 @@
#include "GSMustDomainPolicy.h"
namespace
exactlru
namespace
lruzdd
{
bool
GSMustAbstractValuePolicy
::
isAlwaysHit
(
const
GSMustDomainPolicy
&
)
const
...
...
@@ -15,5 +15,5 @@ bool GSMustAbstractValuePolicy::isAlwaysHit(const GSMustDomainPolicy&) const
return
true
;
}
}
// namespace
exactlru
}
// namespace
lruzdd
src/GeneratorsSet/GSMustAbstractValuePolicy.h
View file @
b9d3201d
#ifndef GS_MUST_ABSTRACT_VALUE_POLICY_H
#define GS_MUST_ABSTRACT_VALUE_POLICY_H
#ifndef
LRUZDD_
GS_MUST_ABSTRACT_VALUE_POLICY_H
#define
LRUZDD_
GS_MUST_ABSTRACT_VALUE_POLICY_H
#include "GSAbstractValue.h"
namespace
exactlru
namespace
lruzdd
{
class
GSMustDomainPolicy
;
...
...
@@ -25,6 +25,6 @@ public:
bool
isAlwaysHit
(
const
GSMustDomainPolicy
&
)
const
;
};
}
}
// namespace lruzdd
#endif // GS_MUST_ABSTRACT_VALUE_POLICY_H
#endif //
LRUZDD_
GS_MUST_ABSTRACT_VALUE_POLICY_H
src/GeneratorsSet/GSMustDomainPolicy.h
View file @
b9d3201d
#ifndef GS_MUST_DOMAIN_POLICY_H
#define GS_MUST_DOMAIN_POLICY_H
#ifndef
LRUZDD_
GS_MUST_DOMAIN_POLICY_H
#define
LRUZDD_
GS_MUST_DOMAIN_POLICY_H
namespace
exactlru
namespace
lruzdd
{
class
GSMustDomainPolicy
...
...
@@ -40,6 +40,6 @@ public:
}
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // GS_MUST_DOMAIN_POLICY_H
#endif //
LRUZDD_
GS_MUST_DOMAIN_POLICY_H
src/MayAnalysis/GlobalMayAnalysis.cpp
View file @
b9d3201d
...
...
@@ -27,8 +27,8 @@
#include <otawa/cfg/features.h>
#include <otawa/icache/features.h>
#include <otawa/icat3/features.h>
#include <
exactlru
/features.h>
#include <
exactlru
/MayAnalysis/MayManager.h>
#include <
lruzdd
/features.h>
#include <
lruzdd
/MayAnalysis/MayManager.h>
#include <lrumc/features.h>
#include "../ZDD/ZDDManager.h"
#include "../ZDD/MayAbstractValuePolicy.h"
...
...
@@ -40,7 +40,7 @@
using
namespace
otawa
;
namespace
exactlru
namespace
lruzdd
{
class
GlobalMayAdapter
...
...
@@ -249,11 +249,11 @@ private:
const
CFGCollection
*
m_cfgs
;
};
p
::
declare
GlobalMayAnalysis
::
reg
=
p
::
init
(
"
exactlru
::GlobalMayAnalysis"
,
Version
(
1
,
0
,
0
))
p
::
declare
GlobalMayAnalysis
::
reg
=
p
::
init
(
"
lruzdd
::GlobalMayAnalysis"
,
Version
(
1
,
0
,
0
))
.
require
(
icat3
::
LBLOCKS_FEATURE
)
.
require
(
COLLECTED_CFG_FEATURE
)
.
provide
(
EXACT_MAY_ANALYSIS_FEATURE
)
.
make
<
GlobalMayAnalysis
>
();
}
// namespace
exactlru
}
// namespace
lruzdd
src/MayAnalysis/MayAnalysis.cpp
View file @
b9d3201d
...
...
@@ -27,8 +27,8 @@
#include <otawa/cfg/features.h>
#include <otawa/icache/features.h>
#include <otawa/icat3/features.h>
#include <
exactlru
/features.h>
#include <
exactlru
/MayAnalysis/MayManager.h>
#include <
lruzdd
/features.h>
#include <
lruzdd
/MayAnalysis/MayManager.h>
#include <lrumc/features.h>
#include "../ZDD/MayAbstractValuePolicy.h"
#include "../ZDD/ZDDMayDomainPolicy.h"
...
...
@@ -39,7 +39,7 @@
using
namespace
otawa
;
namespace
exactlru
namespace
lruzdd
{
class
MayAdapter
...
...
@@ -265,7 +265,7 @@ private:
const
CFGCollection
*
m_cfgs
;
};
p
::
declare
MayAnalysis
::
reg
=
p
::
init
(
"
exactlru
::MayAnalysis"
,
Version
(
1
,
0
,
0
))
p
::
declare
MayAnalysis
::
reg
=
p
::
init
(
"
lruzdd
::MayAnalysis"
,
Version
(
1
,
0
,
0
))
.
require
(
icat3
::
LBLOCKS_FEATURE
)
.
require
(
lrumc
::
REFINEMENT_CATEGORY_FEATURE
)
.
require
(
COLLECTED_CFG_FEATURE
)
...
...
@@ -286,9 +286,9 @@ p::declare MayAnalysis::reg = p::init("exactlru::MayAnalysis", Version(1, 0, 0))
* @par Implementation
* @li @ref ExactMayAnalysis
*
* @ingroup
exactlru
* @ingroup
lruzdd
*/
p
::
feature
EXACT_MAY_ANALYSIS_FEATURE
(
"
exactlru
::EXACT_MAY_ANALYSIS_FEATURE"
,
p
::
make
<
MayAnalysis
>
());
p
::
feature
EXACT_MAY_ANALYSIS_FEATURE
(
"
lruzdd
::EXACT_MAY_ANALYSIS_FEATURE"
,
p
::
make
<
MayAnalysis
>
());
/**
...
...
@@ -301,11 +301,11 @@ p::feature EXACT_MAY_ANALYSIS_FEATURE("exactlru::EXACT_MAY_ANALYSIS_FEATURE", p:
* @li @ref Block
* @li @ref Edge
*
* @ingroup
exactlru
* @ingroup
lruzdd
*/
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_IN("
exactlru
::EXACT_MAY_IN");
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_IN("
lruzdd
::EXACT_MAY_IN");
p
::
id
<
MissCategory
>
MISS_CATEGORY
(
"
exactlru
::MISS_CATEGORY"
);
p
::
id
<
MissCategory
>
MISS_CATEGORY
(
"
lruzdd
::MISS_CATEGORY"
);
/**
* Initial state for Exact-May instruction cache analysis.
...
...
@@ -316,8 +316,8 @@ p::id<MissCategory> MISS_CATEGORY("exactlru::MISS_CATEGORY");
* @par Feature
* @li @ref EXACT_MAY_ANALYSIS_FEATURE
*
* @ingroup
exactlru
* @ingroup
lruzdd
*/
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_INIT("
exactlru
::EXACT_MAY_INIT");
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_INIT("
lruzdd
::EXACT_MAY_INIT");
}
// namespace
exactlru
}
// namespace
lruzdd
src/MustAnalysis/GlobalMustAnalysis.cpp
View file @
b9d3201d
...
...
@@ -27,8 +27,8 @@
#include <otawa/cfg/features.h>
#include <otawa/icache/features.h>
#include <otawa/icat3/features.h>
#include <
exactlru
/features.h>
#include <
exactlru
/MustAnalysis/MustManager.h>
#include <
lruzdd
/features.h>
#include <
lruzdd
/MustAnalysis/MustManager.h>
#include <lrumc/features.h>
#include "../ZDD/ZDDManager.h"
#include "../ZDD/MustAbstractValuePolicy.h"
...
...
@@ -40,7 +40,7 @@
using
namespace
otawa
;
namespace
exactlru
namespace
lruzdd
{
class
GlobalMustAdapter
...
...
@@ -249,11 +249,11 @@ private:
const
CFGCollection
*
m_cfgs
;
};
p
::
declare
GlobalMustAnalysis
::
reg
=
p
::
init
(
"
exactlru
::GlobalMustAnalysis"
,
Version
(
1
,
0
,
0
))
p
::
declare
GlobalMustAnalysis
::
reg
=
p
::
init
(
"
lruzdd
::GlobalMustAnalysis"
,
Version
(
1
,
0
,
0
))
.
require
(
icat3
::
LBLOCKS_FEATURE
)
.
require
(
COLLECTED_CFG_FEATURE
)
.
provide
(
EXACT_MUST_ANALYSIS_FEATURE
)
.
make
<
GlobalMustAnalysis
>
();
}
// namespace
exactlru
}
// namespace
lruzdd
src/MustAnalysis/MustAnalysis.cpp
View file @
b9d3201d
...
...
@@ -27,8 +27,8 @@
#include <otawa/cfg/features.h>
#include <otawa/icache/features.h>
#include <otawa/icat3/features.h>
#include <
exactlru
/features.h>
#include <
exactlru
/MustAnalysis/MustManager.h>
#include <
lruzdd
/features.h>
#include <
lruzdd
/MustAnalysis/MustManager.h>
#include <lrumc/features.h>
#include "../ZDD/MustAbstractValuePolicy.h"
#include "../ZDD/ZDDMustDomainPolicy.h"
...
...
@@ -39,7 +39,7 @@
using
namespace
otawa
;
namespace
exactlru
namespace
lruzdd
{
class
MustAdapter
...
...
@@ -265,7 +265,7 @@ private:
const
CFGCollection
*
m_cfgs
;
};
p
::
declare
MustAnalysis
::
reg
=
p
::
init
(
"
exactlru
::MustAnalysis"
,
Version
(
1
,
0
,
0
))
p
::
declare
MustAnalysis
::
reg
=
p
::
init
(
"
lruzdd
::MustAnalysis"
,
Version
(
1
,
0
,
0
))
.
require
(
icat3
::
LBLOCKS_FEATURE
)
.
require
(
lrumc
::
REFINEMENT_CATEGORY_FEATURE
)
.
require
(
COLLECTED_CFG_FEATURE
)
...
...
@@ -286,9 +286,9 @@ p::declare MustAnalysis::reg = p::init("exactlru::MustAnalysis", Version(1, 0, 0
* @par Implementation
* @li @ref ExactMayAnalysis
*
* @ingroup
exactlru
* @ingroup
lruzdd
*/
p
::
feature
EXACT_MUST_ANALYSIS_FEATURE
(
"
exactlru
::EXACT_MUST_ANALYSIS_FEATURE"
,
p
::
make
<
MustAnalysis
>
());
p
::
feature
EXACT_MUST_ANALYSIS_FEATURE
(
"
lruzdd
::EXACT_MUST_ANALYSIS_FEATURE"
,
p
::
make
<
MustAnalysis
>
());
/**
...
...
@@ -301,11 +301,11 @@ p::feature EXACT_MUST_ANALYSIS_FEATURE("exactlru::EXACT_MUST_ANALYSIS_FEATURE",
* @li @ref Block
* @li @ref Edge
*
* @ingroup
exactlru
* @ingroup
lruzdd
*/
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_IN("
exactlru
::EXACT_MAY_IN");
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_IN("
lruzdd
::EXACT_MAY_IN");
p
::
id
<
HitCategory
>
HIT_CATEGORY
(
"
exactlru
::HIT_CATEGORY"
);
p
::
id
<
HitCategory
>
HIT_CATEGORY
(
"
lruzdd
::HIT_CATEGORY"
);
/**
* Initial state for Exact-May instruction cache analysis.
...
...
@@ -316,8 +316,8 @@ p::id<HitCategory> HIT_CATEGORY("exactlru::HIT_CATEGORY");
* @par Feature
* @li @ref EXACT_MAY_ANALYSIS_FEATURE
*
* @ingroup
exactlru
* @ingroup
lruzdd
*/
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_INIT("
exactlru
::EXACT_MAY_INIT");
//p::id<Container<YoungerSetAntichain<AntichainType::MAY> > > EXACT_MAY_INIT("
lruzdd
::EXACT_MAY_INIT");
}
// namespace
exactlru
}
// namespace
lruzdd
src/ZDD/MayAbstractValuePolicy.cpp
View file @
b9d3201d
...
...
@@ -2,7 +2,7 @@
#include "ZDDAbstractValue.h"
#include "ZDDMayDomainPolicy.h"
namespace
exactlru
namespace
lruzdd
{
bool
MayAbstractValuePolicy
::
isAlwaysMiss
(
const
ZDDMayDomainPolicy
&
domain
)
const
...
...
@@ -40,5 +40,5 @@ void MayAbstractValuePolicy::join(const ZDD& other)
self
.
_zdd
=
self
.
_zdd
.
minUnion
(
other
);
}
}
// namespace
exactlru
}
// namespace
lruzdd
src/ZDD/MayAbstractValuePolicy.h
View file @
b9d3201d
#ifndef MAY_ABSTRACT_VALUE_POLICY_H
#define MAY_ABSTRACT_VALUE_POLICY_H
#ifndef
LRUZDD_
MAY_ABSTRACT_VALUE_POLICY_H
#define
LRUZDD_
MAY_ABSTRACT_VALUE_POLICY_H
#include <memory>
#include "ZDDManager.h"
namespace
exactlru
namespace
lruzdd
{
template
<
typename
Policy
>
...
...
@@ -28,6 +28,6 @@ protected:
void
join
(
const
ZDD
&
other
);
};
}
// namespace
exactlru
}
// namespace
lruzdd
#endif // MAY_ABSTRACT_VALUE_POLICY_H
#endif //
LRUZDD_
MAY_ABSTRACT_VALUE_POLICY_H
src/ZDD/MustAbstractValuePolicy.cpp
View file @
b9d3201d
#include "MustAbstractValuePolicy.h"
#include "ZDDAbstractValue.h"
namespace
exactlru
namespace
lruzdd
{
bool
MustAbstractValuePolicy
::
isAlwaysHit
(
const
ZDDMustDomainPolicy
&
)
const
...
...
@@ -40,4 +40,4 @@ void MustAbstractValuePolicy::join(const ZDD& other)
self
.
_zdd
=
self
.
_zdd
.
maxUnion
(
other
);
}
}
// namespace
exactlru
}
// namespace
lruzdd
src/ZDD/MustAbstractValuePolicy.h
View file @
b9d3201d
#ifndef MUST_ABSTRACT_VALUE_POLICY_H
#define MUST_ABSTRACT_VALUE_POLICY_H
#ifndef
LRUZDD_
MUST_ABSTRACT_VALUE_POLICY_H
#define
LRUZDD_
MUST_ABSTRACT_VALUE_POLICY_H
#include <memory>
#include "ZDDManager.h"
namespace
exactlru
namespace
lruzdd
{
template
<
typename
Policy
>
...
...
@@ -28,6 +28,6 @@ protected:
void
join
(
const
ZDD
&
other
);