OpenASIP
2.0
|
#include <FalseAliasAnalyzer.hh>
Public Member Functions | |
FalseAliasAnalyzer (FunctionNameList *enabledFuncs=nullptr) | |
virtual bool | isAddressTraceable (DataDependenceGraph &ddg, const ProgramOperation &pop) override |
virtual AliasingResult | analyze (DataDependenceGraph &ddg, const ProgramOperation &pop1, const ProgramOperation &pop2, MoveNodeUse::BBRelation bbInfo) override |
~FalseAliasAnalyzer () | |
Public Member Functions inherited from MemoryAliasAnalyzer | |
virtual void | initProcedure (TTAProgram::Procedure &) |
virtual | ~MemoryAliasAnalyzer () |
Private Member Functions | |
bool | isEnabled (const DataDependenceGraph &ddg) const |
Private Attributes | |
FunctionNameList * | funcs_ |
Additional Inherited Members | |
Public Types inherited from MemoryAliasAnalyzer | |
enum | AliasingResult { ALIAS_FALSE = 0, ALIAS_TRUE = 1, ALIAS_UNKNOWN = 2, ALIAS_PARTIAL = 3 } |
Protected Member Functions inherited from MemoryAliasAnalyzer | |
AliasingResult | compareIndeces (int index1, int index2, const ProgramOperation &pop1, const ProgramOperation &pop2) |
Static Protected Member Functions inherited from MemoryAliasAnalyzer | |
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 40 of file FalseAliasAnalyzer.hh.
|
inline |
Definition at line 42 of file FalseAliasAnalyzer.hh.
FalseAliasAnalyzer::~FalseAliasAnalyzer | ( | ) |
|
overridevirtual |
checks whether mem adderesses alias. As this is fake, always returns false.
Implements MemoryAliasAnalyzer.
Definition at line 52 of file FalseAliasAnalyzer.cc.
References MemoryAliasAnalyzer::ALIAS_FALSE, MemoryAliasAnalyzer::ALIAS_UNKNOWN, and isEnabled().
|
overridevirtual |
Checks whether can say something about a memory address.
Implements MemoryAliasAnalyzer.
Definition at line 42 of file FalseAliasAnalyzer.cc.
References isEnabled().
|
private |
Definition at line 62 of file FalseAliasAnalyzer.cc.
References AssocTools::containsKey(), funcs_, and BoostGraph< GraphNode, GraphEdge >::name().
Referenced by analyze(), and isAddressTraceable().
|
private |
Definition at line 55 of file FalseAliasAnalyzer.hh.
Referenced by isEnabled().