Otawa
0.10
|
Iterator on the result of stack analysis. More...
#include <otawa/stack/features.h>
Public Member Functions | |
Iter (WorkSpace *ws) | |
~Iter (void) | |
void | start (BasicBlock *bb) |
Start the state calculation for a new basic block. More... | |
bool | pathEnd (void) const |
bool | isCond (void) const |
bool | instEnd (void) const |
bool | ended (void) const |
sem::inst | item (void) const |
void | next (void) |
Compute the state for the next semantic instruction. More... | |
void | nextInst (void) |
Compute the state at the end of the instruction. More... | |
State & | state (void) const |
Value | getReg (int i) |
Get register value. More... | |
Value | getMem (Value addr, int size) |
Get value from memory. More... | |
Inst * | instruction (void) const |
operator bool (void) const | |
operator sem::inst (void) const | |
Iter & | operator++ (void) |
Iter & | operator++ (int) |
sem::inst | operator* (void) const |
sem::inst | operator-> (void) const |
Private Attributes | |
sem::Block | b |
sem::PathIter | si |
BasicBlock::InstIter | i |
State * | s |
State * | es |
genstruct::Vector< State * > | ss |
StackProblem * | p |
Iterator on the result of stack analysis.
otawa::stack::Iter::Iter | ( | WorkSpace * | ws | ) |
|
inline |
References otawa::sem::PathIter::ended(), otawa::BasicBlock::InstIter::ended(), i, and si.
Value otawa::stack::Iter::getReg | ( | int | i | ) |
|
inline |
References otawa::sem::PathIter::ended(), and si.
Referenced by nextInst().
|
inline |
References otawa::sem::PathIter::isCond(), and si.
Referenced by next().
|
inline |
References otawa::sem::PathIter::item(), and si.
void otawa::stack::Iter::next | ( | void | ) |
Compute the state for the next semantic instruction.
References otawa::sem::PathIter::ended(), es, isCond(), otawa::sem::PathIter::item(), otawa::sem::PathIter::next(), p, otawa::sem::PathIter::pathEnd(), elm::genstruct::Vector< T >::pop(), elm::genstruct::Vector< T >::push(), s, si, ss, and otawa::sem::PathIter::start().
Referenced by nextInst().
void otawa::stack::Iter::nextInst | ( | void | ) |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
References otawa::sem::PathIter::pathEnd(), and si.
void otawa::stack::Iter::start | ( | BasicBlock * | bb | ) |
Start the state calculation for a new basic block.
References elm::genstruct::Vector< T >::clear(), es, s, si, ss, otawa::sem::PathIter::start(), and otawa::stack::STATE.
|
inline |
References s.
|
private |
|
private |
Referenced by ended(), and instruction().
|
private |
|
private |