|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.ssa.BackTranslateFromSsaBriggs
| Nested Class Summary | |
(package private) class |
BackTranslateFromSsaBriggs.Couple
|
(package private) class |
BackTranslateFromSsaBriggs.CoupleSet
|
(package private) class |
BackTranslateFromSsaBriggs.PickingRegister
|
(package private) class |
BackTranslateFromSsaBriggs.ReplaceVisitor
|
| Field Summary | |
static int |
THR
The threshold of debug print |
| Constructor Summary | |
BackTranslateFromSsaBriggs(SsaEnvironment enviroment,
SsaSymTab ssasymtab,
boolean ex)
|
|
| Method Summary | |
(package private) boolean |
asDest(LirNode src,
LirNode instr)
|
(package private) boolean |
asUse(LirNode node,
LirNode instr)
|
(package private) void |
checkWeak(Function func)
|
(package private) void |
cutting(LirNode src,
LirNode dest,
LirNode instr)
|
(package private) LirNode |
cuttingCopy(LirNode src,
LirNode dest,
LirNode copy)
|
boolean |
doIt(Data data,
ImList args)
Transform the DATA component. |
boolean |
doIt(Function function,
ImList args)
Transform the L-function func. |
(package private) LirNode |
getJthOperand(BasicBlk block,
LirNode phinode)
return J-th operand (corresponding to "block") from "phinode". |
(package private) LirNode |
getPhiDest(LirNode phinode)
retun "dest" of "phinode". |
(package private) BiList |
getPhiNodes(BasicBlk block)
return "list" of phi-nodes in "block". |
(package private) void |
insertCopyAtHead(BasicBlk block,
LirNode node)
Insert "node" at block'head. |
(package private) void |
insertCopyAtTail(BasicBlk block,
LirNode node)
|
(package private) boolean |
inSucc(BasicBlk block,
BasicBlk child)
|
(package private) boolean |
isCopy(LirNode node)
|
(package private) boolean |
isLiveAtSuccEntry(Symbol s,
BasicBlk block)
|
(package private) boolean |
isNeedCopy(LirNode node,
BasicBlk block)
|
(package private) boolean |
isReg(LirNode node)
retun true if "node" is register. |
(package private) void |
jumpRepair(BasicBlk block)
|
java.lang.String |
name()
Return the name of the transforming engine. |
(package private) void |
phiNodeModify(LirNode node,
BasicBlk block)
|
(package private) void |
printList(BiList target)
|
(package private) void |
removePhiNodes()
|
(package private) boolean |
removeUselessCopy()
|
(package private) boolean |
removeUselessCopyBEFORE()
|
(package private) void |
repair(LirNode instr,
BasicBlk block)
|
(package private) void |
replaceNode(LirNode node1,
LirNode node2,
LirNode instr)
|
java.lang.String |
subject()
Return brief description of the tranformation. |
(package private) void |
travel(BasicBlk block,
LirNode dest,
BiList candidates)
|
(package private) void |
updateHash(java.util.Hashtable hashtable,
java.lang.Object key,
java.lang.Object elem)
Update "elem" of "hashtable" at "key". |
(package private) void |
walkPreorder(LirVisitor v,
LirNode node)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int THR
| Constructor Detail |
public BackTranslateFromSsaBriggs(SsaEnvironment enviroment,
SsaSymTab ssasymtab,
boolean ex)
| Method Detail |
public boolean doIt(Data data,
ImList args)
LocalTransformer
doIt in interface LocalTransformerdata - DATA to be transformed.args - list of optional arguments.
public java.lang.String name()
Transformer
name in interface Transformerpublic java.lang.String subject()
Transformer
subject in interface Transformer
public boolean doIt(Function function,
ImList args)
LocalTransformerfunc.
doIt in interface LocalTransformerfunction - L-function to be transformed.args - list of optional arguments.
BiList getPhiNodes(BasicBlk block)
LirNode getPhiDest(LirNode phinode)
LirNode getJthOperand(BasicBlk block,
LirNode phinode)
boolean isReg(LirNode node)
void updateHash(java.util.Hashtable hashtable,
java.lang.Object key,
java.lang.Object elem)
void insertCopyAtHead(BasicBlk block,
LirNode node)
void insertCopyAtTail(BasicBlk block,
LirNode node)
void removePhiNodes()
void checkWeak(Function func)
boolean isNeedCopy(LirNode node,
BasicBlk block)
void phiNodeModify(LirNode node,
BasicBlk block)
void printList(BiList target)
void travel(BasicBlk block,
LirNode dest,
BiList candidates)
boolean isCopy(LirNode node)
boolean inSucc(BasicBlk block,
BasicBlk child)
void replaceNode(LirNode node1,
LirNode node2,
LirNode instr)
boolean asUse(LirNode node,
LirNode instr)
boolean asDest(LirNode src,
LirNode instr)
void cutting(LirNode src,
LirNode dest,
LirNode instr)
LirNode cuttingCopy(LirNode src,
LirNode dest,
LirNode copy)
void jumpRepair(BasicBlk block)
void repair(LirNode instr,
BasicBlk block)
boolean isLiveAtSuccEntry(Symbol s,
BasicBlk block)
boolean removeUselessCopy()
boolean removeUselessCopyBEFORE()
void walkPreorder(LirVisitor v,
LirNode node)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||