ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SteensgaardPtrAnal Class Reference

#include <SteensgaardPtrAnal.h>

Inheritance diagram for SteensgaardPtrAnal:
Collaboration diagram for SteensgaardPtrAnal:

Public Member Functions

void output (std::ostream &out)
 
- Public Member Functions inherited from PtrAnal
void operator() (AstInterface &fa, const AstNodePtr &program)
 
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 void contrl_flow (Stmt stmt1, Stmt stmt2, CFGConfig::EdgeType t)
 

Private Types

typedef ECRmap Impl
 

Private Member Functions

virtual bool may_alias (const std::string &x, const std::string &y)
 
virtual Stmt x_eq_y (const std::string &x, const std::string &y)
 
virtual Stmt x_eq_addr_y (const std::string &x, const std::string &y)
 
virtual Stmt x_eq_deref_y (const std::string &x, const std::string &field, const std::string &y)
 
virtual Stmt x_eq_field_y (const std::string &x, const std::string &field, const std::string &y)
 
virtual Stmt deref_x_eq_y (const std::string &x, const std::list< std::string > &fields, const std::string &y)
 
virtual Stmt field_x_eq_y (const std::string &x, const std::list< std::string > &fields, const std::string &y)
 
virtual Stmt x_eq_op_y (OpType op, const std::string &x, const std::list< std::string > &y)
 
virtual Stmt allocate_x (const std::string &x)
 
virtual Stmt funcdef_x (const std::string &x, const std::list< std::string > &params, const std::list< std::string > &output)
 
virtual Stmt funccall_x (const std::string &x, const std::list< std::string > &args, const std::list< std::string > &result)
 
virtual Stmt funcexit_x (const std::string &x)
 
- Private Member Functions inherited from ECRmap
void x_eq_y (Variable x, Variable y)
 
void x_eq_addr_y (Variable x, Variable y)
 
void x_eq_deref_y (Variable x, Variable y)
 
void x_eq_op_y (Variable x, const std::list< Variable > &y)
 
void allocate (Variable x)
 
void deref_x_eq_y (Variable x, Variable y)
 
void function_def_x (Variable x, const std::list< Variable > &inParams, const std::list< Variable > &outParams)
 
void function_call_p (Variable p, const std::list< Variable > &x, const std::list< Variable > &y)
 
virtual void dump ()
 
int find_LOC (std::ostream &out, std::map< ECR *, int > &locmap, int &loc, ECR *p)
 
void outputLOC (std::ostream &out, std::map< ECR *, int > &locmap, int &loc, ECR *p)
 
void output (std::ostream &out)
 
bool mayAlias (Variable x, Variable y)
 
virtual ~ECRmap ()
 

Additional Inherited Members

- Public Types inherited from PtrAnal
enum  OpType {
  EQ,
  NE,
  LT,
  GT,
  LE,
  GE,
  OTHER
}
 
typedef void * Stmt
 
typedef std::list< StmtStmtRef
 
- Protected Member Functions inherited from PtrAnal
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)
 
- Static Protected Member Functions inherited from PtrAnal
static std::string get_func_output (const std::string &fname, int i)
 
static std::string get_func_par (const std::string &fname, int i)
 

Detailed Description

Definition at line 8 of file SteensgaardPtrAnal.h.

Member Typedef Documentation

Definition at line 11 of file SteensgaardPtrAnal.h.

Member Function Documentation

virtual bool SteensgaardPtrAnal::may_alias ( const std::string &  x,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 12 of file SteensgaardPtrAnal.h.

References ECRmap::mayAlias().

virtual Stmt SteensgaardPtrAnal::x_eq_y ( const std::string &  x,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 14 of file SteensgaardPtrAnal.h.

References ECRmap::x_eq_y().

virtual Stmt SteensgaardPtrAnal::x_eq_addr_y ( const std::string &  x,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 16 of file SteensgaardPtrAnal.h.

References ECRmap::x_eq_addr_y().

virtual Stmt SteensgaardPtrAnal::x_eq_deref_y ( const std::string &  x,
const std::string &  field,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 18 of file SteensgaardPtrAnal.h.

References ECRmap::x_eq_deref_y().

virtual Stmt SteensgaardPtrAnal::x_eq_field_y ( const std::string &  x,
const std::string &  field,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 21 of file SteensgaardPtrAnal.h.

References ECRmap::x_eq_y().

virtual Stmt SteensgaardPtrAnal::deref_x_eq_y ( const std::string &  x,
const std::list< std::string > &  fields,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 24 of file SteensgaardPtrAnal.h.

References ECRmap::deref_x_eq_y().

virtual Stmt SteensgaardPtrAnal::field_x_eq_y ( const std::string &  x,
const std::list< std::string > &  fields,
const std::string &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 27 of file SteensgaardPtrAnal.h.

References ECRmap::x_eq_y().

virtual Stmt SteensgaardPtrAnal::x_eq_op_y ( OpType  op,
const std::string &  x,
const std::list< std::string > &  y 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 30 of file SteensgaardPtrAnal.h.

References ECRmap::x_eq_op_y().

virtual Stmt SteensgaardPtrAnal::allocate_x ( const std::string &  x)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 32 of file SteensgaardPtrAnal.h.

References ECRmap::allocate().

virtual Stmt SteensgaardPtrAnal::funcdef_x ( const std::string &  x,
const std::list< std::string > &  params,
const std::list< std::string > &  output 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 34 of file SteensgaardPtrAnal.h.

References ECRmap::function_def_x().

virtual Stmt SteensgaardPtrAnal::funccall_x ( const std::string &  x,
const std::list< std::string > &  args,
const std::list< std::string > &  result 
)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 38 of file SteensgaardPtrAnal.h.

References ECRmap::function_call_p().

virtual Stmt SteensgaardPtrAnal::funcexit_x ( const std::string &  x)
inlineprivatevirtual

Implements PtrAnal.

Definition at line 41 of file SteensgaardPtrAnal.h.

void SteensgaardPtrAnal::output ( std::ostream &  out)
inline

Definition at line 44 of file SteensgaardPtrAnal.h.

References ECRmap::output().


The documentation for this class was generated from the following file: