15 Commits (0fade5cb0fd65397b7dae4f77cc954bf5899bd4e)

Author SHA1 Message Date
Siegfried Pammer a674b4cdf1 Extend TransformAssignment 9 years ago
Siegfried Pammer 3a89500e0c Merge binary arithmetic instructions into one class. 9 years ago
Siegfried Pammer c4092ac91e Extend TransformInlineAssignment for fields 9 years ago
Siegfried Pammer 8766783eb6 Remove ld(s)fld/st(s)fld 9 years ago
Daniel Grunwald 9803fd90e3 Actually use the improved code in ILInlining.IsSafeForInlineOver() 9 years ago
Daniel Grunwald 6d9e53bf4f Improve ILInlining.IsSafeForInlineOver() 9 years ago
Daniel Grunwald 449bbe2043 Move transforms to transforms namespace 9 years ago
Siegfried Pammer 128bf41d6c Fix unit test ValueTypeCall 9 years ago
Siegfried Pammer 15d0a405db Properly inline single-use locals in case of ldloca 9 years ago
Daniel Grunwald b55775e2cc Add reaching definitions analysis. 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 781ee2664f Allow inlining of compiler-generated temporaries for conditional branches. 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 58404e8f9e AsyncDecompiler: fix some issues with Roslyn-compiled code 11 years ago
Daniel Grunwald 6ba013d9dd Fix bugs in async/await decompiler. 12 years ago
Pent Ploompuu 587c36bea2 Type analysis support for the remaining lifted operators 14 years ago
Pent Ploompuu d226afb26d Decompile all lifted operators on nullable values. Postfix increment/decrement and custom type conversions support incomplete, but correct. 14 years ago
Daniel Grunwald e59edceccb Fix inlining into null coalescing operator. 14 years ago
Pent Ploompuu af155c788e Type analysis support for operators on nullable values 14 years ago
Daniel Grunwald 229218174f Inlining: remove the arg_-Variable in catch blocks. 14 years ago
Daniel Grunwald f68775e468 Revert fix for #120. Siegfried found a case where the C# compiler creates a useless variable in debug builds. 14 years ago
Daniel Grunwald f12371e0e1 Consistently use the full MIT license header on source files. 14 years ago
Daniel Grunwald 5f069c4ea8 Perform dead store removal only for generated variables. Closes #120. 14 years ago
Daniel Grunwald 8c927f199b Fixed issues introduced by #139 (Improved local variable inlining) 14 years ago
Daniel Grunwald 660505e04d Introduce 'AddressOf' pseudo-opcode to make the type system aware of inlined value types (#139) 14 years ago
pentp 8c161e51cd fix changes 14 years ago
pentp 71149caffd Remove temporary local variables generated by the C# compiler for instance method calls on immutable value type values 14 years ago
Daniel Grunwald 600c07388e Implemented object initializers. 14 years ago
David Srbecký 17f68f450f Moved some of the optimizations into the while(modified) loop 14 years ago
David Srbecký b3f1d599f8 Refactored some peephole transforms; Moved some of the transforms before loop and condition detection 14 years ago
Daniel Grunwald 1d11e75af3 Add support for fixed statement with strings. 14 years ago
Daniel Grunwald a3c241dac6 Improve handling of pinned variables. 14 years ago
Daniel Grunwald 01d7e2abbd Use the same representation for parameters and variables. 14 years ago
David Srbecký 892297708f Amend of last commit - remove stloc only if the inner expression is valid expression statement and the variable is generated 14 years ago
David Srbecký d167860111 Remove stloc instruction if the variable is never loaded 14 years ago
Daniel Grunwald e9c6aa15e6 Fix switch on string when the compiler introduced a temporary variable for the string being switched on. 14 years ago
Daniel Grunwald fa05b733ee Perform copy propagation for all address-loading instructions. 14 years ago
Daniel Grunwald b6d832d212 Add support for collection initializers. 14 years ago
Daniel Grunwald 2892c9d50b Implemented decompilation of 'lock'. 14 years ago
Daniel Grunwald 72ee5d309c Improve array initializer support. 14 years ago
Daniel Grunwald b6b31514de Perform 'dup' removal prior to copy propagation 14 years ago
Daniel Grunwald ea5c790991 Adjust array initializer pattern to 'dup' changes. 14 years ago
Daniel Grunwald 5ee3d87388 Implemented a simple copy-propagation step. 14 years ago
Daniel Grunwald cfbbae4cb7 Remove code duplication ILInlining / ILAstOptimizer.InlineVariables. 14 years ago
Daniel Grunwald 60c02d577b Change namespace to ICSharpCode.Decompiler. 14 years ago
Daniel Grunwald db44cd1d3b Handle ldelem.any. Closes #47. 14 years ago
Daniel Grunwald b494786088 Fix crash in ILInlining. 14 years ago
Daniel Grunwald 8f8c2ea280 Perform an inlining step after eliminating array initializers. 14 years ago