|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.aflow.SetRefReprImpl
coins.aflow.SetRefReprHirImpl
coins.aflow.SetRefReprHirEImpl
Implementation of the SetRefRepr interface for HIR
| Field Summary | |
protected java.util.Set |
fAllSubexps
fAllSubexps: ExpId's of all subexpressions under the node corresponding to this. |
protected boolean |
fCallWithSideEffectIncluded
fCallIncluded: True if call with side effect is included in the subtree fIR, false if call with side effect is not included. |
protected java.util.Set |
fLeafOperands
fLeafOperands: Symbols of subexpressions used as operands by the node corresponding to this. |
protected java.util.Set |
fModSyms
fModSyms: Symbols that may be modified by the node corresponding to this. |
protected java.util.Set |
fModSymsStmt
fModSymsStmt: Symbols that may be modified by the simple statement containing the subtree corresponding to this SetRefRepr. |
protected java.util.Set |
fOperandExp
fOperandExp: ExpId's of subexpressions used as direct operands by the node corresponding to this. |
| Fields inherited from class coins.aflow.SetRefReprHirImpl |
flow, fStmt, hirRoot |
| Fields inherited from class coins.aflow.SetRefReprImpl |
fBBlock, fDefSym, fFlags, fIR, flowRoot, fOpCode, fResults, fUseExpIdList, fUseNodeList, symRoot |
| Fields inherited from interface coins.aflow.SetRefRepr |
HAS_CONTROL, IS_RETURN, SETS |
| Constructor Summary | |
SetRefReprHirEImpl(HIR pSubtree,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
SetRefReprHirEImpl instanciates SetRefRepr for the subtree pSubtree by computing SetRefRepr for child subtrees. |
|
| Method Summary | |
java.util.Set |
allSubexps()
operandExp: ExpId's of all subexpressions of the subtree corresponding to this. |
protected void |
computeSetRefRepr(HIR pHir,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
computeSetRefRepr: Compute defined symbols (fDefSym) and set of possibly modified variables (fModSyms), variables used as leaf operand (fLeafOperands). |
IR |
defNode()
Returns the IR node which links to the definitely defined (set) symbol. |
Stmt |
getStmt()
Returns the Stmt node that originated this SetRefReprHir. |
boolean |
hasCallWithSideEffect()
|
java.util.Set |
leafOperands()
leafOperands: Get the set of symbols used as operands gathered from all leaf nodes of the subtree corresponding to this. |
java.util.Set |
modSyms()
modSyms returns the set of symbols that are possibly defined in this SetRefRepr. |
java.util.Set |
modSyms0()
modSyms0 returns the set of symbols that are possibly defined in this SetRefRepr as modSyms() and symbols externally defined (i.e. |
java.util.Set |
modSymsStmt()
modSymsStmt returns the set of symbols that are possibly defined in the this SetRefRepr. |
java.util.Set |
operandExp()
operandExp: ExpId's of subexpressions used as direct operands by the node corresponding to this. |
| Methods inherited from class coins.aflow.SetRefReprHirImpl |
callNodes, checkWhetherBranch, defSym, exps, exps, expsUnder, flowAnalSymNodesUnder, flowAnalSymsUnder, hasDefiniteValue, lhsSyms, modSyms00, modSymsUnder, symsModifiedForLhsExp, useNodeList, useNodeList, writesToDefiniteAddress |
| Methods inherited from class coins.aflow.SetRefReprImpl |
allFalse, defFlowExpId, expIterator, expListIterator, expListIterator, expListIteratorFromBottom, getBBlock, getDAvailIn, getDDefIn, getDDefined, getDefSym, getDExposed, getDKill, getDReach, getDUsed, getFlag, getFlowExpIds, getIR, getPDefined, getPEKill, getPExposed, getPKill, getPLiveOut, getPReach, getPUsed, getUseFlowExpIds, hasControl, isReturn, nodeIterator, nodeListIterator, nodeListIterator, setFlag, sets, topUseNode, toString, useNodeIterator, useSyms |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface coins.aflow.SetRefRepr |
allFalse, callNodes, defFlowExpId, defSym, expIterator, expListIterator, expListIterator, getBBlock, getDAvailIn, getDDefIn, getDDefined, getDefSym, getDExposed, getDKill, getDReach, getDUsed, getFlag, getIR, getPDefined, getPEKill, getPExposed, getPKill, getPLiveOut, getPReach, getPUsed, hasControl, isReturn, lhsSyms, modSyms00, nodeIterator, nodeListIterator, nodeListIterator, setFlag, sets, topUseNode, toString, useNodeIterator, useNodeList, useSyms, writesToDefiniteAddress |
| Field Detail |
protected java.util.Set fModSyms
protected java.util.Set fModSymsStmt
protected java.util.Set fLeafOperands
protected java.util.Set fOperandExp
protected java.util.Set fAllSubexps
protected boolean fCallWithSideEffectIncluded
| Constructor Detail |
public SetRefReprHirEImpl(HIR pSubtree,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
| Method Detail |
protected void computeSetRefRepr(HIR pHir,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
public Stmt getStmt()
SetRefReprHirStmt node that originated this SetRefReprHir. This is usually same as getIR(), but is differnet when this SetRefReprHir originates from an IfStmt.
getStmt in interface SetRefReprHirgetStmt in class SetRefReprHirImplpublic IR defNode()
SetRefReprsets() returns
false.
defNode in interface SetRefReprdefNode in class SetRefReprHirImplpublic java.util.Set modSyms()
modSyms in interface SetRefReprmodSyms in class SetRefReprHirImplpublic java.util.Set modSymsStmt()
public java.util.Set modSyms0()
public java.util.Set leafOperands()
public java.util.Set operandExp()
public java.util.Set allSubexps()
public boolean hasCallWithSideEffect()
hasCallWithSideEffect in interface SetRefReprhasCallWithSideEffect in class SetRefReprHirImpl
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||