95 Commits (0fade5cb0fd65397b7dae4f77cc954bf5899bd4e)

Author SHA1 Message Date
Daniel Grunwald ffe23f5bd6 Remove 'TransformingVisitor' -- it belonged to the ILAst variant with stack instructions and no longer had any effect. 9 years ago
Daniel Grunwald f3d108c469 Add SplitVariables transforms. 9 years ago
Daniel Grunwald f1021d18af Make comparisons in the ILAst more similar to C# comparisons. 9 years ago
Daniel Grunwald 1aaf7b3dc0 Fix bugs in data flow analysis. 9 years ago
Siegfried Pammer 01c3721c33 Add expression transform for (unsigned)x > 0 -> (unsigned)x != 0 9 years ago
Daniel Grunwald f5e66ff623 Extract reusable DataFlowVisitor from ReachingDefinitions; and add ILVariable.HasInitialValue. 9 years ago
Siegfried Pammer 78d593f3ff fix bug in StObj-ExpressionTransform 9 years ago
Siegfried Pammer e831a2ab0e Add LoopingTransform 9 years ago
Siegfried Pammer 9aea030746 merge NRTypeExtensions and DecompilerTypeSystemUtils into TypeUtils 9 years ago
Siegfried Pammer 849f899926 transform stobj(ldloca(v), value) to stloc(v, value) 9 years ago
Siegfried Pammer ab9083f897 remove doubled check from CopyPropagation 9 years ago
Daniel Grunwald b55775e2cc Add reaching definitions analysis. 9 years ago
Daniel Grunwald c171dbd520 Add class VariableScope. 9 years ago
Siegfried Pammer f781c0335a replace IsSingleUse with IsSingleDefinition 9 years ago
Siegfried Pammer 13bf6fbe9f add simple CopyPropagation transform 9 years ago
Daniel Grunwald 288bb928ce Attempt to improve control flow detection 10 years ago
Daniel Grunwald b10feca78b Add 'InlineCompilerGeneratedVariables' transform, hopefully this is sufficient to replace the 'variable splitting' in the old decompiler. 10 years ago
Daniel Grunwald 2509f27223 * Rename ControlFlowSimplification to ConditionDetection 10 years ago
Siegfried Pammer 62fe21fb9f add transformation of decimal literals and decimal constants 10 years ago
Daniel Grunwald 0d6424bd12 IntroduceExitPoints 10 years ago
Daniel Grunwald d6b9d39f38 First attempt at loop extension. 10 years ago
Daniel Grunwald 3cc83d9a41 Allow decompiling individual properties/methods. 10 years ago
Daniel Grunwald 781ee2664f Allow inlining of compiler-generated temporaries for conditional branches. 10 years ago
Siegfried Pammer f82b8c8f19 move TransformValueTypeInitializers to ExpressionTransforms 10 years ago
Daniel Grunwald b88c8d913e Fix build 10 years ago
Daniel Grunwald 8738c48d0e Add transform "cgt.un(left, ldnull)" => "logic.not(ceq(left, ldnull))" 10 years ago
Siegfried Pammer 5c0053815d add TransformValueTypeInitializers to pipeline 10 years ago
Siegfried Pammer f988835f75 fix InvalidCastException in TransformArrayInitializers 10 years ago
Siegfried Pammer bf990f8f41 add TransformArrayInitializers 10 years ago
Daniel Grunwald f8d942c15d Fix ILOpCode.Pop 10 years ago
Daniel Grunwald 1720fe5bba First version of variable inlining. 10 years ago
Daniel Grunwald 06356512fa Remove the evaluation stack from ILAst; the ILReader now directly introduces stack variables. 10 years ago
Siegfried Pammer e0fba0c94e add generated Match<opCode> methods 10 years ago
David Karlaš fca29f68c4 Reenabled CustomerAttributes unit tests and fixed most problems 10 years ago
Siegfried Pammer 6f60dbe04e implemented SwitchInstruction, StElem, NewArr instructions 10 years ago
Daniel Grunwald 3a03415be4 Add ControlFlowSimplification pass 10 years ago
Daniel Grunwald 179b635185 Perform some control flow simplifications in OptimizingTransform 10 years ago
Daniel Grunwald 4dec7abb63 Replace 'endfinally' with 'leave' 10 years ago
Daniel Grunwald 0cae30cce2 ILInstruction.Clone() 10 years ago
Daniel Grunwald 6b4ea94a2e Introduce 'leave' instruction for leaving block containers. 10 years ago
Daniel Grunwald f37655a573 Add void-visitor and make Descendants use post-order. 10 years ago
Daniel Grunwald bcfe1b0813 Add ILInstruction.ReplaceWith() method and make ILInstruction.Children an IReadOnlyList. 10 years ago
Daniel Grunwald eedcfebb0f Remove 'loop' instruction; just use a block container. 10 years ago
Daniel Grunwald b2dfdea68e Add loop detection. 10 years ago