Name |
Description |
ConditionCodeEliminator |
Removes any uses and definitions of condition codes. |
DataFlowAnalysis |
We are keenly interested in discovering the register linkage between procedures, i.e. what registers are used by a called procedure, and what modified registers are used by a calling procedure. Once these registers have been discovered, we can separate the procedures from each other and proceed with the decompilation. |
ExpressionUseRemover |
|
IndirectCallExpander |
Replace ssa identifiers with expressions that defines them. Also replace phi functions. |
IndirectCallRewriter |
Try to rewrite indirect call statements to applications using user-defined data (e.g. global variables, parameters of procedures). |
IndirectCallTypeAscender |
Pulling type information from the leaves of expression trees to their roots without store it. |
SsaEvaluationContext |
|
SsaIdentifierTransformer |
Replace application parameters with ssa identifiers |
SsaIdentifierTransformer.ArgumentTransformer |
|
UserSignatureBuilder |
Builds ProcedureSignatures from user-supplied signatures. |
ValueNumbering |
This class is used to compute value numbers of all the SSA variables of a procedure. As a useful side effect, it also detects induction variables, determines their stride &c. This will be useful later when we need to classify arrays. |
ValueNumbering.AnyValueNumber |
|
ValueNumbering.Node |
Represents a node in the SSA node graph. All edges are to operands used to compute this node. |
ValueNumbering.NodeVisitor |
|
ValueNumbering.RegionConstantFinder |
|
ValueNumbering.ValueNumberingContext |
|