Otawa
0.10
|
Subclass of AccessedAddress, this class represents an absolute address access, to a global variable or to an input/output register for example. More...
#include <otawa/stack/AccessedAddress.h>
Public Types | |
enum | kind_t { ANY, SP, ABS } |
Describe the different implementation of an accessed address. More... | |
Public Member Functions | |
AbsAddress (Inst *instruction, bool is_store, const Address &address) | |
const Address & | address (void) const |
kind_t | kind (void) const |
Get the kind of the address. More... | |
bool | isStore (void) const |
Test if a store is performed on the accessed address. More... | |
bool | isLoad (void) const |
Test if a store is performed on the accessed address. More... | |
Inst * | instruction (void) const |
Get the instruction where this memory access applies. More... | |
void | print (io::Output &out) const |
Print the given address. More... | |
Private Attributes | |
Address | addr |
Subclass of AccessedAddress, this class represents an absolute address access, to a global variable or to an input/output register for example.
Any accessed address of kind AccessedAddress::ABS can be cast in this class.
|
inherited |
Describe the different implementation of an accessed address.
Enumerator | |
---|---|
ANY |
Represents the most imprecise memory access: it may potentially concern the full memory address space. |
SP |
Represents an stack pointer relative address with a constant offset. Instances of this kind can be casted into SPAddress. |
ABS |
Represents an address defined by its absolute and constant value. Instances of this kind can be casted into AbsAddress. |
|
inlineinherited |
Get the instruction where this memory access applies.
References otawa::AccessedAddress::inst.
Referenced by otawa::dcache::BlockBuilder::processBB().
|
inlineinherited |
Test if a store is performed on the accessed address.
References otawa::AccessedAddress::store.
|
inlineinherited |
Test if a store is performed on the accessed address.
References otawa::AccessedAddress::store.
Referenced by otawa::dcache::BlockBuilder::processBB().
|
inlineinherited |
Get the kind of the address.
According to this kind, this instance may be cast in the corresponding subclass of AccessedAddress.
References otawa::AccessedAddress::knd.
Referenced by otawa::dcache::BlockBuilder::processBB().
|
inherited |
Print the given address.
out | Output stream. |
References elm::abs(), otawa::AccessedAddress::ABS, otawa::ProgItem::address(), otawa::ot::address(), otawa::AccessedAddress::ANY, hex(), otawa::AccessedAddress::inst, otawa::AccessedAddress::knd, otawa::SPAddress::offset(), otawa::sign(), otawa::AccessedAddress::SP, and otawa::AccessedAddress::store.
Referenced by otawa::operator<<().