Otawa
0.10
|
Subclass of AccessedAddress, this class represents address with a constant offset relative to the stack pointer. 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 | |
SPAddress (Inst *instruction, bool is_store, t::int32 offset) | |
t::int32 | offset (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 | |
t::int32 | off |
Subclass of AccessedAddress, this class represents address with a constant offset relative to the stack pointer.
Any accessed address of kind AccessedAddress::SP 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().
|
inline |
References off.
Referenced by otawa::AccessedAddress::print().
|
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, offset(), otawa::sign(), otawa::AccessedAddress::SP, and otawa::AccessedAddress::store.
Referenced by otawa::operator<<().