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

Helper class to hold Alias Information. More...

#include <IntraProcAliasAnalysis.h>

Collaboration diagram for AliasInfoGenerator:

Public Member Functions

 AliasInfoGenerator ()
 
void init (SgGraphNode *n)
 Initialize. More...
 
CompReprPtr getEntryData (SgGraphNode *node)
 Get Entry Data For a CFG Node. More...
 
void setEntryData (SgGraphNode *node, CompReprPtr en)
 Set Entry Data For a CFG Node. More...
 
CompReprPtr getExitData (SgGraphNode *node)
 Get Exit Data For a CFG Node. More...
 
void setExitData (SgGraphNode *node, CompReprPtr en)
 Set Exit Data For a CFG Node. More...
 
std::vector< std::pair
< AliasRelationNode,
AliasRelationNode > > 
getAliasRelations (SgGraphNode *node)
 Get alias relations for a CFG Node. More...
 
void addNewAliasRelation (SgGraphNode *node, std::pair< AliasRelationNode, AliasRelationNode > a_relation)
 Adds a new alias relation for a CFG Node. More...
 
void addReturnStmt (AliasRelationNode node)
 Adds a return statement. Return Statements are handled separately from others because of backward propagation. More...
 
std::vector< AliasRelationNodegetReturnStmts ()
 Get all the return statements. More...
 

Private Attributes

unordered_map< SgGraphNode
*, CompReprPtr
ins
 IN of every CFG Node. More...
 
unordered_map< SgGraphNode
*, CompReprPtr
outs
 OUT of every CFG Node. More...
 
std::vector< AliasRelationNodereturnStmts
 All the Return Stmts. More...
 
unordered_map< SgGraphNode
*, std::vector< std::pair
< AliasRelationNode,
AliasRelationNode > > > 
aliasRelations
 All the AliasRelations for every CFG Node. More...
 

Detailed Description

Helper class to hold Alias Information.

Definition at line 214 of file IntraProcAliasAnalysis.h.

Constructor & Destructor Documentation

AliasInfoGenerator::AliasInfoGenerator ( )

Member Function Documentation

void AliasInfoGenerator::init ( SgGraphNode n)

Initialize.

CompReprPtr AliasInfoGenerator::getEntryData ( SgGraphNode node)

Get Entry Data For a CFG Node.

void AliasInfoGenerator::setEntryData ( SgGraphNode node,
CompReprPtr  en 
)
inline

Set Entry Data For a CFG Node.

Definition at line 237 of file IntraProcAliasAnalysis.h.

CompReprPtr AliasInfoGenerator::getExitData ( SgGraphNode node)

Get Exit Data For a CFG Node.

void AliasInfoGenerator::setExitData ( SgGraphNode node,
CompReprPtr  en 
)
inline

Set Exit Data For a CFG Node.

Definition at line 243 of file IntraProcAliasAnalysis.h.

std::vector<std::pair<AliasRelationNode, AliasRelationNode> > AliasInfoGenerator::getAliasRelations ( SgGraphNode node)

Get alias relations for a CFG Node.

void AliasInfoGenerator::addNewAliasRelation ( SgGraphNode node,
std::pair< AliasRelationNode, AliasRelationNode a_relation 
)

Adds a new alias relation for a CFG Node.

void AliasInfoGenerator::addReturnStmt ( AliasRelationNode  node)
inline

Adds a return statement. Return Statements are handled separately from others because of backward propagation.

Definition at line 252 of file IntraProcAliasAnalysis.h.

std::vector<AliasRelationNode> AliasInfoGenerator::getReturnStmts ( )
inline

Get all the return statements.

Definition at line 255 of file IntraProcAliasAnalysis.h.

Member Data Documentation

unordered_map<SgGraphNode *, CompReprPtr> AliasInfoGenerator::ins
private

IN of every CFG Node.

Definition at line 216 of file IntraProcAliasAnalysis.h.

unordered_map<SgGraphNode *, CompReprPtr> AliasInfoGenerator::outs
private

OUT of every CFG Node.

Definition at line 219 of file IntraProcAliasAnalysis.h.

std::vector<AliasRelationNode > AliasInfoGenerator::returnStmts
private

All the Return Stmts.

Definition at line 222 of file IntraProcAliasAnalysis.h.

unordered_map<SgGraphNode *, std::vector <std::pair<AliasRelationNode, AliasRelationNode> > > AliasInfoGenerator::aliasRelations
private

All the AliasRelations for every CFG Node.

Definition at line 225 of file IntraProcAliasAnalysis.h.


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