|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.ssa.PREQP
| Field Summary | |
(package private) MemoryAliasAnalyze |
alias
|
(package private) java.util.Hashtable |
cpMap
|
(package private) boolean[] |
initialized
|
(package private) int |
maxId
|
(package private) boolean[] |
memArray
|
(package private) java.util.Hashtable |
modMap
|
(package private) java.util.Hashtable |
occurMap
|
(package private) java.util.Hashtable |
phiMap
|
(package private) java.util.Hashtable |
rPhiMap
|
static int |
THR
|
static int |
THR2
The threshold of debug print |
(package private) coins.ssa.PREQP.VElem |
unavailVar
|
| Constructor Summary | |
PREQP(SsaEnvironment e,
SsaSymTab tab,
int m)
Constructor |
|
| Method Summary | |
boolean |
doIt(Data data,
ImList args)
Transform the DATA component. |
boolean |
doIt(Function function,
ImList args)
Do optimize using Efficient Question Propagation. |
(package private) boolean |
eqp(LirNode e,
BasicBlk v,
BasicBlk succ,
LirNode[] visited)
|
(package private) LirNode |
insertPhi(coins.ssa.PREQP.VElem v)
|
(package private) void |
invoke()
Do optimization using Efficient Question Propagation. |
(package private) void |
localInit(BasicBlk v)
|
(package private) void |
maintainTableDeleteExp(LirNode node,
BasicBlk b)
|
(package private) void |
maintainTableDeletePhi(LirNode node,
LirNode orgNode,
BasicBlk b)
|
(package private) void |
maintainTableInsertExp(BiLink q,
LirNode node,
BasicBlk b)
|
(package private) void |
maintainTableInsertPhi(BiLink q,
LirNode node,
BasicBlk b)
|
(package private) void |
maintainTableReplaceExp(LirNode old,
LirNode newN,
BasicBlk b)
|
(package private) void |
maintainTableReplacePhi(LirNode old,
LirNode newN,
BasicBlk b)
|
(package private) java.lang.String |
makeExpKey(LirNode n)
|
(package private) java.lang.String |
makeLocalKey(BasicBlk blk,
LirNode n)
|
(package private) java.lang.String |
makeLocalKey2(BasicBlk blk,
BasicBlk succ,
LirNode n)
|
(package private) java.lang.String |
makeTmpPhiKey(BasicBlk blk,
LirNode n)
Make keys for expressions. |
(package private) boolean |
memIsHoistable(BasicBlk target,
LirNode e)
|
(package private) boolean |
modGraph(coins.ssa.PREQP.VElem v)
The main routine of Efficient Question Propagation. |
java.lang.String |
name()
Return the name of the transforming engine. |
(package private) java.lang.Boolean |
postEqp(LirNode e,
BasicBlk v,
LirNode[] pVisited)
|
(package private) boolean |
propagate(LirNode e,
BasicBlk v,
LirNode[] visited)
|
java.lang.String |
subject()
Return brief description of the tranformation. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
int maxId
public static final int THR
public static final int THR2
coins.ssa.PREQP.VElem unavailVar
java.util.Hashtable occurMap
java.util.Hashtable modMap
java.util.Hashtable phiMap
java.util.Hashtable rPhiMap
java.util.Hashtable cpMap
boolean[] initialized
MemoryAliasAnalyze alias
boolean[] memArray
| Constructor Detail |
public PREQP(SsaEnvironment e,
SsaSymTab tab,
int m)
e - The environment of the SSA moduletab - The symbol tabel of the SSA modulem - The current mode| 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 Transformerboolean modGraph(coins.ssa.PREQP.VElem v)
v - The current basic block
LirNode insertPhi(coins.ssa.PREQP.VElem v)
boolean propagate(LirNode e,
BasicBlk v,
LirNode[] visited)
boolean eqp(LirNode e,
BasicBlk v,
BasicBlk succ,
LirNode[] visited)
java.lang.String makeTmpPhiKey(BasicBlk blk,
LirNode n)
blk - The current basic block
java.lang.String makeLocalKey(BasicBlk blk,
LirNode n)
java.lang.String makeLocalKey2(BasicBlk blk,
BasicBlk succ,
LirNode n)
java.lang.String makeExpKey(LirNode n)
java.lang.Boolean postEqp(LirNode e,
BasicBlk v,
LirNode[] pVisited)
void maintainTableInsertExp(BiLink q,
LirNode node,
BasicBlk b)
void maintainTableInsertPhi(BiLink q,
LirNode node,
BasicBlk b)
void maintainTableDeleteExp(LirNode node,
BasicBlk b)
void maintainTableReplaceExp(LirNode old,
LirNode newN,
BasicBlk b)
void maintainTableDeletePhi(LirNode node,
LirNode orgNode,
BasicBlk b)
void maintainTableReplacePhi(LirNode old,
LirNode newN,
BasicBlk b)
boolean memIsHoistable(BasicBlk target,
LirNode e)
void invoke()
void localInit(BasicBlk v)
public boolean doIt(Function function,
ImList args)
doIt in interface LocalTransformerfunction - L-function to be transformed.args - list of optional arguments.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||