#include <PtrAnal.h>
|
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 bool | may_alias (const std::string &x, const std::string &y)=0 |
|
virtual Stmt | x_eq_y (const std::string &x, const std::string &y)=0 |
|
virtual Stmt | x_eq_addr_y (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 | allocate_x (const std::string &x)=0 |
|
virtual Stmt | x_eq_op_y (OpType op, const std::string &x, const std::list< 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 |
|
virtual Stmt | funccall_x (const std::string &x, const std::list< std::string > &args, const std::list< std::string > &result)=0 |
|
virtual Stmt | funcexit_x (const std::string &x)=0 |
|
virtual void | contrl_flow (Stmt stmt1, Stmt stmt2, CFGConfig::EdgeType t) |
|
|
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) |
|
Definition at line 9 of file PtrAnal.h.
Enumerator |
---|
EQ |
|
NE |
|
LT |
|
GT |
|
LE |
|
GE |
|
OTHER |
|
Definition at line 13 of file PtrAnal.h.
void PtrAnal::operator() |
( |
AstInterface & |
fa, |
|
|
const AstNodePtr & |
program |
|
) |
| |
bool PtrAnal::may_alias |
( |
AstInterface & |
fa, |
|
|
const AstNodePtr & |
r1, |
|
|
const AstNodePtr & |
r2 |
|
) |
| |
VarRef PtrAnal::translate_exp |
( |
const AstNodePtr & |
exp) | |
const |
StmtRef PtrAnal::translate_stmt |
( |
const AstNodePtr & |
stmt) | |
const |
virtual bool PtrAnal::may_alias |
( |
const std::string & |
x, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::x_eq_y |
( |
const std::string & |
x, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::x_eq_addr_y |
( |
const std::string & |
x, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::x_eq_deref_y |
( |
const std::string & |
x, |
|
|
const std::string & |
field, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::x_eq_field_y |
( |
const std::string & |
x, |
|
|
const std::string & |
field, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::deref_x_eq_y |
( |
const std::string & |
x, |
|
|
const std::list< std::string > & |
field, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::field_x_eq_y |
( |
const std::string & |
x, |
|
|
const std::list< std::string > & |
field, |
|
|
const std::string & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::allocate_x |
( |
const std::string & |
x) | |
|
|
pure virtual |
virtual Stmt PtrAnal::x_eq_op_y |
( |
OpType |
op, |
|
|
const std::string & |
x, |
|
|
const std::list< std::string > & |
y |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::funcdef_x |
( |
const std::string & |
x, |
|
|
const std::list< std::string > & |
params, |
|
|
const std::list< std::string > & |
ouput |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::funccall_x |
( |
const std::string & |
x, |
|
|
const std::list< std::string > & |
args, |
|
|
const std::list< std::string > & |
result |
|
) |
| |
|
pure virtual |
virtual Stmt PtrAnal::funcexit_x |
( |
const std::string & |
x) | |
|
|
pure virtual |
virtual void PtrAnal::contrl_flow |
( |
Stmt |
stmt1, |
|
|
Stmt |
stmt2, |
|
|
CFGConfig::EdgeType |
t |
|
) |
| |
|
inlinevirtual |
void PtrAnal::ProcessAssign |
( |
AstInterface & |
fa, |
|
|
const AstNodePtr & |
mod, |
|
|
const AstNodePtr & |
rhs, |
|
|
bool |
readlhs = 0 |
|
) |
| |
|
protected |
void PtrAnal::ProcessExpression |
( |
AstInterface & |
fa, |
|
|
const std::string & |
modname, |
|
|
const AstNodePtr & |
rhs |
|
) |
| |
|
protected |
void PtrAnal::ProcessMod |
( |
AstInterface & |
fa, |
|
|
const std::string & |
readname, |
|
|
std::list< std::string > & |
fields, |
|
|
const AstNodePtr & |
mod |
|
) |
| |
|
protected |
void PtrAnal::ControlFlowAnalysis |
( |
AstInterface & |
fa, |
|
|
const AstNodePtr & |
head, |
|
|
Stmt |
defn |
|
) |
| |
|
protected |
std::string PtrAnal::Get_VarName |
( |
AstInterface & |
fa, |
|
|
const AstNodePtr & |
rhs |
|
) |
| |
|
protected |
virtual bool PtrAnal::ProcessTree |
( |
AstInterface & |
_fa, |
|
|
const AstNodePtr & |
s, |
|
|
AstInterface::TraversalVisitType |
t |
|
) |
| |
|
protectedvirtual |
static std::string PtrAnal::get_func_output |
( |
const std::string & |
fname, |
|
|
int |
i |
|
) |
| |
|
inlinestaticprotected |
static std::string PtrAnal::get_func_par |
( |
const std::string & |
fname, |
|
|
int |
i |
|
) |
| |
|
inlinestaticprotected |
std::list<std::string> PtrAnal::fdefined |
|
private |
std::vector<Stmt> PtrAnal::stmts |
|
private |
std::list<size_t> PtrAnal::stmt_active |
|
private |
The documentation for this class was generated from the following file: