Property | Type | Description | |
---|---|---|---|
AddNodeInOrder | void | ||
AssignValueNumber | bool | ||
ClassifyInductionVariable | void | ||
DFS | Node | ||
ProcessScc | void |
Method | Description | |
---|---|---|
AssignInitialValueNumbers ( ) : void | ||
Dump ( ) : void | ||
GetDefiningExpression ( Identifier id ) : Expression | ||
GetValueNumber ( Identifier id ) : Expression | ||
Lookup ( Expression expr, Expression>.Dictionary |
Looks up the value number of an expression. If it can't be found in the table, the SSA name
|
|
ValueNumbering ( SsaIdentifierCollection ssaIds ) : Reko.Core | ||
Write ( System.IO.TextWriter writer ) : void |
Method | Description | |
---|---|---|
AddNodeInOrder ( List |
||
AssignValueNumber ( Node n, Expression>.Dictionary |
Assigns a value number to the variable identified by the node 'n'. If the node changes value, we return true.
|
|
ClassifyInductionVariable ( List |
||
DFS ( Identifier id ) : Node | ||
ProcessScc ( List |
Process a strongly connected component of identifiers and phi- functions. A singleton is easy, we just give it a value number. Loops have to be iterated until they stabilize.
|
public GetDefiningExpression ( Identifier id ) : Expression | ||
id | Identifier | |
return | Expression |
public GetValueNumber ( Identifier id ) : Expression | ||
id | Identifier | |
return | Expression |
public Lookup ( Expression expr, Expression>.Dictionary |
||
expr | Expression | Expression to look for |
table | Expression>.Dictionary | |
lvalue | Expression | |
return | Expression |
public ValueNumbering ( SsaIdentifierCollection ssaIds ) : Reko.Core | ||
ssaIds | SsaIdentifierCollection | |
return | Reko.Core |
public Write ( System.IO.TextWriter writer ) : void | ||
writer | System.IO.TextWriter | |
return | void |