|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.flow.DataFlowImpl
coins.flow.DataFlowHirImpl
Implementation of the DataFlow interface for HIR.
There are some dependencies between the methods in this class.
For example, findReach() mustn't be called before both findDef() and findKill() have been called,
and findKill() in turn depends on the result of findDefined().
Access restrictions (or the like) that reflect these dependencies are not yet implemented. Please be careful in using.
DataFlowImpl.findAll() method calls these methods in the correct order.
| Field Summary |
| Fields inherited from class coins.flow.DataFlowImpl |
DEF_INVERTED, DEF_ZERO, EXP_INVERTED, EXP_ZERO, fDbgFlow, fDefCount, fDefNodeIndexTable, fFlowAnalSymTable, flow, flowRoot, fRecordAlias, fShowDataFlow, fSubpFlow, fUndefinedUseNodesOfSym, hirRoot, ioRoot, showDataFlowByName, symRoot |
| Constructor Summary | |
DataFlowHirImpl(FlowRoot pFlowRoot,
HirSubpFlow pSubpFlow)
Constructs a DataFlow instance and prepares for DFA. |
|
| Method Summary | |
void |
findEGen(BBlock pBBlock)
Finds and sets the EGen vector for the given BBlock. |
void |
findEKill(BBlock pBBlock)
Finds and sets the EGen vector for the given BBlock. |
FlowAnalSym |
getFlowAnalSym(int ExpIndex)
getExpId |
java.util.Set |
getUseFlowAnalSyms(FlowAnalSym pFlowAnalSym)
Returns the Set of ExpIds that are contained in the given ExpId and are used. |
java.util.Set |
getUseFlowAnalSymsForHir(HIR pSubtree)
!!HIR Returns the Set of ExpIds that fall under the given subtree and are used. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public DataFlowHirImpl(FlowRoot pFlowRoot,
HirSubpFlow pSubpFlow)
| Method Detail |
public FlowAnalSym getFlowAnalSym(int ExpIndex)
getFlowAnalSym in interface DataFlowgetFlowAnalSym in class DataFlowImplpublic void findEGen(BBlock pBBlock)
findEGen in interface DataFlowfindEGen in class DataFlowImplpBBlock - BBlock whose EGen vector to find.public void findEKill(BBlock pBBlock)
findEKill in interface DataFlowfindEKill in class DataFlowImplpBBlock - BBlock whose EGen vector to be found.public java.util.Set getUseFlowAnalSymsForHir(HIR pSubtree)
getUseFlowAnalSymsForHir in interface DataFlowgetUseFlowAnalSymsForHir in class DataFlowImplpSubtree - IR node that is the root of the subtree to examine.
public java.util.Set getUseFlowAnalSyms(FlowAnalSym pFlowAnalSym)
getUseFlowAnalSyms in class DataFlowImpl
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||