| 
    ROSE 0.11.145.357
    
   | 
 
Definition at line 14 of file reachingDef.h.
Public Types | |
| enum | Type {  PHI_FUNCTION , ORIGINAL_DEF , EXPANDED_DEF }  | 
| typedef boost::shared_ptr< ReachingDef > | ReachingDefPtr | 
| typedef FilteredCFGEdge< ssa_private::DataflowCfgFilter > | FilteredCfgEdge | 
Public Member Functions | |
| ReachingDef (SgNode *defNode, Type type) | |
| Creates a new reaching def.  | |
| bool | isPhiFunction () const | 
| Returns true if this is a phi function.  | |
| const std::map< ReachingDefPtr, std::set< FilteredCfgEdge > > & | getJoinedDefs () const | 
| If this is a join node (phi function), get the definitions merged.   | |
| SgNode * | getDefinitionNode () const | 
| If this is not a phi function, returns the actual reaching definition.   | |
| std::set< SgNode * > | getActualDefinitions () const | 
| Returns the actual reaching definitions at the current node, expanding all phi functions.  | |
| int | getRenamingNumber () const | 
| Get the renaming (SSA index) associated with this definition.   | |
| bool | isOriginalDef () const | 
| Returns true if this is an original definition (i.e.   | |
| bool | operator== (const ReachingDef &other) const | 
| void | setDefinitionNode (SgNode *defNode) | 
| Set the definition node in the AST (only valid if this is not a phi function)  | |
| void | addJoinedDef (ReachingDefPtr newDef, FilteredCfgEdge edge) | 
| Add a new join definition (only valid for phi functions).  | |
| void | setRenamingNumber (int n) | 
| Set the renaming number (SSA index) of this def.  | |
| typedef boost::shared_ptr<ReachingDef> ReachingDef::ReachingDefPtr | 
Definition at line 31 of file reachingDef.h.
| typedef FilteredCFGEdge<ssa_private::DataflowCfgFilter> ReachingDef::FilteredCfgEdge | 
Definition at line 33 of file reachingDef.h.
| enum ReachingDef::Type | 
Definition at line 18 of file reachingDef.h.
| const std::map< ReachingDefPtr, std::set< FilteredCfgEdge > > & ReachingDef::getJoinedDefs | ( | ) | const | 
If this is a join node (phi function), get the definitions merged.
Each definition is paired with the CFG node along which it flows.
| SgNode * ReachingDef::getDefinitionNode | ( | ) | const | 
If this is not a phi function, returns the actual reaching definition.
If this is a phi function, returns the node where the phi function appears.
| int ReachingDef::getRenamingNumber | ( | ) | const | 
Get the renaming (SSA index) associated with this definition.
0 is the first value, and numbers increase monotonically with program flow.
      
  | 
  inline | 
Returns true if this is an original definition (i.e.
if p.x is defined, p.x is an original defintion and p is an expanded definition)
Definition at line 79 of file reachingDef.h.