Class PtrAnal#
Defined in File PtrAnal.h
Nested Relationships#
Nested Types#
Inheritance Relationships#
Base Types#
public ProcessAstTreeBase(Class ProcessAstTreeBase)public AliasAnalysisInterface(Class AliasAnalysisInterface)
Derived Type#
public SteensgaardPtrAnal(Class SteensgaardPtrAnal)
Class Documentation#
-
class PtrAnal : public ProcessAstTreeBase, public AliasAnalysisInterface#
Subclassed by SteensgaardPtrAnal
Public Types
-
enum OpType#
Values:
-
enumerator EQ#
-
enumerator NE#
-
enumerator LT#
-
enumerator GT#
-
enumerator LE#
-
enumerator GE#
-
enumerator OTHER#
-
enumerator EQ#
-
typedef void *Stmt#
Public Functions
-
void operator()(AstInterface &fa, const AstNodePtr &program)#
-
virtual bool may_alias(AstInterface &fa, const AstNodePtr &r1, const AstNodePtr &r2)#
-
VarRef translate_exp(const AstNodePtr &exp) const#
-
StmtRef translate_stmt(const AstNodePtr &stmt) const#
-
virtual bool may_alias(const std::string &x, const std::string &y) = 0#
-
virtual Stmt x_eq_deref_y(const std::string &x, const std::string &field, const std::string &y) = 0#
-
virtual Stmt x_eq_field_y(const std::string &x, const std::string &field, const std::string &y) = 0#
-
virtual Stmt deref_x_eq_y(const std::string &x, const std::list<std::string> &field, const std::string &y) = 0#
-
virtual Stmt field_x_eq_y(const std::string &x, const std::list<std::string> &field, const std::string &y) = 0#
-
virtual Stmt funcdef_x(const std::string &x, const std::list<std::string> ¶ms, const std::list<std::string> &ouput) = 0#
Protected Functions
-
void ProcessAssign(AstInterface &fa, const AstNodePtr &mod, const AstNodePtr &rhs, bool readlhs = 0)#
-
void ProcessExpression(AstInterface &fa, const std::string &modname, const AstNodePtr &rhs)#
-
void ProcessMod(AstInterface &fa, const std::string &readname, std::list<std::string> &fields, const AstNodePtr &mod)#
-
void ControlFlowAnalysis(AstInterface &fa, const AstNodePtr &head, Stmt defn)#
-
std::string Get_VarName(AstInterface &fa, const AstNodePtr &rhs)#
-
virtual bool ProcessTree(AstInterface &_fa, const AstNodePtr &s, AstInterface::TraversalVisitType t)#
Protected Static Functions
-
static inline std::string get_func_output(const std::string &fname, int i)#
-
static inline std::string get_func_par(const std::string &fname, int i)#
-
struct VarRef#
-
enum OpType#