OpenASIP
2.0
|
#include <ConstantAliasAnalyzer.hh>
Public Member Functions | |
virtual bool | isAddressTraceable (DataDependenceGraph &ddg, const ProgramOperation &pop) |
virtual AliasingResult | analyze (DataDependenceGraph &ddg, const ProgramOperation &pop1, const ProgramOperation &pop2, MoveNodeUse::BBRelation bbInfo) |
~ConstantAliasAnalyzer () | |
![]() | |
virtual void | initProcedure (TTAProgram::Procedure &) |
virtual | ~MemoryAliasAnalyzer () |
Static Public Member Functions | |
static bool | getConstantAddress (DataDependenceGraph &ddg, const ProgramOperation &po, long &addr, long &loopIncrement) |
Additional Inherited Members | |
![]() | |
enum | AliasingResult { ALIAS_FALSE = 0, ALIAS_TRUE = 1, ALIAS_UNKNOWN = 2, ALIAS_PARTIAL = 3 } |
![]() | |
AliasingResult | compareIndeces (int index1, int index2, const ProgramOperation &pop1, const ProgramOperation &pop2) |
![]() | |
static const MoveNode * | addressOperandMove (const ProgramOperation &po) |
static TwoPartAddressOperandDetection | findTwoPartAddressOperands (const ProgramOperation &po) |
static const MoveNode * | searchLoopIndexBasedIncrement (DataDependenceGraph &ddg, const MoveNode &mn, long &loopIncrement) |
static const MoveNode * | findIncrement (const MoveNode &mn, long &increment) |
static const MoveNode * | detectConstantScale (const MoveNode &mn, int &shiftAmount) |
Definition at line 42 of file ConstantAliasAnalyzer.hh.
ConstantAliasAnalyzer::~ConstantAliasAnalyzer | ( | ) |
Definition at line 130 of file ConstantAliasAnalyzer.cc.
|
virtual |
Implements MemoryAliasAnalyzer.
Definition at line 104 of file ConstantAliasAnalyzer.cc.
References MoveNodeUse::LOOP.
|
static |
Definition at line 50 of file ConstantAliasAnalyzer.cc.
References TTAProgram::Move::isFunctionCall(), TTAProgram::Terminal::isImmediate(), MoveNode::isMove(), MoveNode::isSourceOperation(), MoveNode::isSourceVariable(), MoveNode::move(), DataDependenceGraph::onlyRegisterRawSource(), TTAProgram::Move::source(), SimValue::unsignedValue(), and TTAProgram::Terminal::value().
Referenced by GlobalVsStackAA::analyze(), and GlobalVsStackAA::isAddressTraceable().
|
virtual |
Checks whether the analyzer knows anything about the address.
ie. if it can return true or false to some query concerning this address.
Implements MemoryAliasAnalyzer.
Definition at line 95 of file ConstantAliasAnalyzer.cc.