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/

ExistHitPrevUAdapter.h 1.11 KB
Newer Older
1
2
3

#ifndef LRUSECURITY_EXIST_HIT_PREV_ADAPTER_U_H_
#define LRUSECURITY_EXIST_HIT_PREV_ADAPTER_U_H_
4
5
6
7
8
9
10
11

#include <otawa/ai/ArrayStore.h>
#include <otawa/icat3/features.h>
#include <otawa/cfg/CompositeCFG.h>
#include <otawa/cfg/features.h>

#include <lrupreanalysis/features.h>

12
#include "ExistHitPrevUDomain.h"
13
14
15
16

namespace lrusecurity
{

17
class ExistHitPrevUAdapter
18
19
{
public:
20
  using domain_t = ExistHitPrevUDomain;
21
22
23
24
	using t = typename domain_t::t;
	using graph_t = otawa::CompositeCFG;
	using store_t = otawa::ai::ArrayStore<domain_t, graph_t>;

25
	ExistHitPrevUAdapter(int set, const t* init, const otawa::icat3::LBlockCollection& coll, const otawa::CFGCollection& cfgs, otawa::WorkSpace* ws);
26
27
28
29
30
31
32
33
34

	inline domain_t& domain(void) { return _domain; }
	inline graph_t& graph(void) { return _graph; }
	inline store_t& store(void) { return _store; }

	void update(const otawa::Bag<otawa::icache::Access>& accs, t& d);
	void update(otawa::Block *v, t& d);

private:
35
36
	int _set;

Valentin Touzeau's avatar
Valentin Touzeau committed
37
	lrupreanalysis::eh_em::ACSManager _ehManager;
38
39
40
41
42
43
44
	domain_t _domain;
	graph_t _graph;
	store_t _store;
};

} // namespace lrusecurity

45
#endif // LRUSECURITY_EXIST_HIT_ADAPTER_U_H_