|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.ssa.SsaGraph
SSA graph
This class defined the object of the SSA graph.
Ths SSA graph has nodes which have the value or operator and labeled by
the variable that defined by the value or operation.
The edge of the node of the SSA graph is from the node that value is used
to the node that value is defined.
Reference:
Bowen Alpern and Mark N. Wegman and F. Kenneth Zadeck,
"Detecting Equality of Variables in Programs,"
Proceedings of the Fifteenth Annual ACM Symposium on Principles of
Programming Language, pp. 1-11, January, 1988.
フィールドの概要 | |
java.lang.String |
optName
The name of the optimizer which uses SSA graph |
static java.lang.String |
symName
The prefix of the new symbol |
static int |
THR
The threshold of the debug print |
コンストラクタの概要 | |
SsaGraph(SsaEnvironment e,
SsaSymTab symtab,
java.lang.String opt)
Constructor |
メソッドの概要 | |
(パッケージプライベート) SsaGraphNode |
appendNode(LirNode node,
BasicBlk blk,
int numOfParents)
Append a new node to the SSA graph. |
boolean |
doIt(Data data,
ImList args)
Transform the DATA component. |
boolean |
doIt(Function function,
ImList args)
Make the SSA graph and optimize with the graph. |
java.lang.String |
name()
Return the name of the transforming engine. |
(パッケージプライベート) BiList |
nodeList()
Return the list of the node of the SSA graph. |
(パッケージプライベート) void |
printGraph(java.lang.String filename)
Print the node as graphviz format. |
(パッケージプライベート) void |
setSymbol(Symbol s,
SsaGraphNode node)
Register again the symbol `s' as a value of the node and put it to the map. |
java.lang.String |
subject()
Return brief description of the tranformation. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final java.lang.String symName
public final java.lang.String optName
public static final int THR
コンストラクタの詳細 |
public SsaGraph(SsaEnvironment e, SsaSymTab symtab, java.lang.String opt)
e
- The environment of the SSA modulesymtab
- The current symbol table of the SSA moduleopt
- The name of the optimizer which uses the SSA graphメソッドの詳細 |
public boolean doIt(Data data, ImList args)
LocalTransformer
の記述:
LocalTransformer
内の doIt
data
- DATA to be transformed.args
- list of optional arguments.
public java.lang.String name()
Transformer
の記述:
Transformer
内の name
public java.lang.String subject()
Transformer
の記述:
Transformer
内の subject
public boolean doIt(Function function, ImList args)
LocalTransformer
内の doIt
function
- the current functionargs
- The list of options
SsaGraphNode appendNode(LirNode node, BasicBlk blk, int numOfParents)
node
- The LIR node which append into the graphblk
- The basic block which the LIR node belongs tonumOfParents
- The number of references of the node
BiList nodeList()
void setSymbol(Symbol s, SsaGraphNode node)
s
- The symbol to registernode
- The node of the SSA graph which has `s'void printGraph(java.lang.String filename)
filename
- The file name for output
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |