24 #ifndef OTAWA_DATA_CLP_PACK_H_
25 #define OTAWA_DATA_CLP_PACK_H_
27 #include <elm/genstruct/Vector.h>
struct otawa::sem::inst inst
clp::State state_before(address_t instruction)
Definition: clp_analysis.cpp:2450
ClpStatePack(BasicBlock *bb, Process *process)
Constructor of a new ClpStatePack.
Definition: clp_analysis.cpp:2384
void append(clp::State &state)
Add a new state at the end of this pack.
Definition: clp_analysis.cpp:2418
A pack of CLP states inside a machine instruction.
Definition: ClpPack.h:50
StateIterator getIterator(void)
Definition: ClpPack.h:64
PackIterator getIterator(void)
Definition: ClpPack.h:100
bool isEmpty(void)
Definition: ClpPack.h:73
Context(Process *process)
Buid a ClpPack context.
Definition: clp_analysis.cpp:2346
address_t inst_addr(void)
Definition: ClpPack.h:62
~Context(void)
Definition: clp_analysis.cpp:2363
ClpProblem & problem(void) const
Definition: ClpPack.h:85
InstPack * newPack(address_t inst)
Add a new instruction pack inside the ClpStatePack.
Definition: clp_analysis.cpp:2483
Vector< InstPack * >::Iterator PackIterator
Definition: ClpPack.h:91
InstPack(address_t inst)
Constructor for a new instruction pack.
Definition: ClpPack.h:58
bool to_free
Definition: ClpPack.h:88
A pack of CLP states inside a BasicBlock.
Definition: ClpPack.h:41
Vector< clp::State * > _states
Definition: ClpPack.h:77
BasicBlock * bb(void)
Definition: ClpPack.h:98
A context allows to share a CLP problem through different constructions of ClpStatePack.
Definition: ClpPack.h:80
The abstract state of the computer (abstract domain).
Definition: ClpState.h:42
A process is the realization of a program on a platform.
Definition: Process.h:136
The representation of an address in OTAWA.
Definition: base.h:54
friend class ClpProblem
Definition: ClpPack.h:42
~ClpStatePack(void)
Destructor for ClpStatePack.
Definition: clp_analysis.cpp:2402
address_t _inst_addr
Definition: ClpPack.h:76
ClpProblem * prob
Definition: ClpPack.h:87
clp::State state_after(address_t instruction)
Definition: clp_analysis.cpp:2425
This is the minimal definition of a basic block.
Definition: BasicBlock.h:43
InstPack()
Constructor for a new instruction pack.
Definition: ClpPack.h:54
friend class ClpProblem
Definition: ClpPack.h:51
BasicBlock * _bb
Definition: ClpPack.h:110
Vector< clp::State * >::Iterator StateIterator
Definition: ClpPack.h:44
Vector< InstPack * > _packs
Definition: ClpPack.h:111
~InstPack(void)
Destructor.
Definition: clp_analysis.cpp:2409
clp::State & outputState(void)
Definition: ClpPack.h:68