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

#include <ValuePropagate.h>

Inheritance diagram for ValuePropagate:
Collaboration diagram for ValuePropagate:

Public Member Functions

 ValuePropagate (BaseGraphCreate *c=0)
 
void build (AstInterface &fa, const AstNodePtr &head, ReachingDefinitionAnalysis &r, AliasAnalysisInterface &alias, FunctionSideEffectInterface *f=0)
 
void build (AstInterface &fa, const AstNodePtr &head, AliasAnalysisInterface &alias, FunctionSideEffectInterface *f=0)
 
bool known_value (const AstNodePtr &exp, HasValueDescriptor *result=0, bool *change=0)
 
HasValueMapget_value_map ()
 
- Public Member Functions inherited from DefUseChain< ValuePropagateNode >
 DefUseChain (BaseGraphCreate *c)
 
EdgeCreateEdge (ValuePropagateNode *n1, ValuePropagateNode *n2)
 
void build (AstInterface &fa, ReachingDefinitionAnalysis &r, AliasAnalysisInterface &alias, FunctionSideEffectInterface *f=0)
 
void build (AstInterface &fa, AstNodePtr root, AliasAnalysisInterface *alias=0, FunctionSideEffectInterface *f=0)
 

Private Member Functions

virtual ValuePropagateNodeCreateNode (AstInterface &fa, const AstNodePtr &ref, const AstNodePtr &stmt, bool def)
 

Private Attributes

std::map< AstNodePtr,
ValuePropagateNode * > 
nodemap
 
HasValueMap valmap
 
HasValueCodeGen astmap
 

Additional Inherited Members

- Public Types inherited from DefUseChain< ValuePropagateNode >
typedef MultiGraphElem Edge
 
typedef
VirtualGraphCreateTemplate
< ValuePropagateNode, Edge >
::NodeIterator 
NodeIterator
 
typedef
VirtualGraphCreateTemplate
< ValuePropagateNode, Edge >
::EdgeIterator 
EdgeIterator
 

Detailed Description

Definition at line 57 of file ValuePropagate.h.

Constructor & Destructor Documentation

ValuePropagate::ValuePropagate ( BaseGraphCreate *  c = 0)
inline

Definition at line 69 of file ValuePropagate.h.

Member Function Documentation

virtual ValuePropagateNode* ValuePropagate::CreateNode ( AstInterface &  fa,
const AstNodePtr &  ref,
const AstNodePtr &  stmt,
bool  def 
)
privatevirtual

Reimplemented from DefUseChain< ValuePropagateNode >.

void ValuePropagate::build ( AstInterface &  fa,
const AstNodePtr &  head,
ReachingDefinitionAnalysis r,
AliasAnalysisInterface &  alias,
FunctionSideEffectInterface *  f = 0 
)
void ValuePropagate::build ( AstInterface &  fa,
const AstNodePtr &  head,
AliasAnalysisInterface &  alias,
FunctionSideEffectInterface *  f = 0 
)
bool ValuePropagate::known_value ( const AstNodePtr &  exp,
HasValueDescriptor result = 0,
bool *  change = 0 
)
HasValueMap& ValuePropagate::get_value_map ( )
inline

Definition at line 82 of file ValuePropagate.h.

Member Data Documentation

std::map<AstNodePtr, ValuePropagateNode*> ValuePropagate::nodemap
private

Definition at line 60 of file ValuePropagate.h.

HasValueMap ValuePropagate::valmap
private

Definition at line 61 of file ValuePropagate.h.

HasValueCodeGen ValuePropagate::astmap
private

Definition at line 62 of file ValuePropagate.h.


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