48 Commits (c12187277cace22f6d919ea879360ccd981e9fea)

Author SHA1 Message Date
Daniel Grunwald c12187277c Also use GraphTraversal.DepthFirstSearch for dominance calculation. 2 years ago
Daniel Grunwald d58576f409 Fix #3075: eliminate recursion in TopologicalSort and BlockTransform. 2 years ago
Daniel Grunwald 6d671071c1 Fix #2851: assertion after cloning a block with expected result type 2 years ago
Daniel Grunwald 5fb2f7a22f #nullable enable for ILAst (except for generated code) 4 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Daniel Grunwald c63e14e805 Move some special cases from ILInlining.FindLoadInNext to the individual ILInstructions. 5 years ago
Siegfried Pammer e4fda5c2e4 Rename HasILRange to ILRangeIsEmpty to properly reflect its implementation. 5 years ago
Daniel Grunwald 8117dfff4a Fix #1242: Discard unreachable code. 6 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 6 years ago
Daniel Grunwald da5693e605 Fix #1339: fixed statement not decompiled correctly when pinned variable is reset in finally block 6 years ago
Chicken-Bones e9b766d708 Improve persistence of IL offsets through various transforms. 7 years ago
Siegfried Pammer 4f8441e142 Introduce several new WriteReference overloads 7 years ago
Siegfried Pammer 384111f0dd Fix #1075: NullReferenceException in StatementBuilder.TranslateSwitch 7 years ago
Siegfried Pammer 203311dd0b Do not crash in BlockContainer.CheckInvariant 8 years ago
Siegfried Pammer 154833b06c Add ContainerKind 8 years ago
Siegfried Pammer 349183544a Rename BlockType to BlockKind 8 years ago
Daniel Grunwald d2b6651507 ILAst: show unused IL ranges 8 years ago
Daniel Grunwald f21d48317c ILAst: show if block container is a loop container. 8 years ago
Daniel Grunwald d68b9a9893 Fix missing InvalidateFlags() call. 8 years ago
Siegfried Pammer 403a79099a Introduce BlockContainer.FindClosestSwitchContainer 8 years ago
Daniel Grunwald 102729cfde Put switch instructions into their own BlockContainer. 8 years ago
Daniel Grunwald 66d1b744c3 Add ILAstWritingOptions parameter to ILInstruction.WriteTo(). 8 years ago
Daniel Grunwald 6b3ab66300 Fix ExpectedResultType of main BlockContainer. 8 years ago
Siegfried Pammer 53322a6ba7 Add ExpectedResultType to BlockContainer (default is StackType.Void) 8 years ago
Daniel Grunwald cc33c27d9c ConditionDetection: Try to prefer 'break;' over other gotos 8 years ago
Siegfried Pammer 840ec04fde Namespace adjustments for Syntax classes 9 years ago
Christoph Wille 1ce8349dd9 Adjust namespaces 9 years ago
Daniel Grunwald dd485b971d Eliminate goto in conditional return in try block. 9 years ago
Daniel Grunwald 15b776faa2 Initial attempt at short-circuiting if conditions 9 years ago
Daniel Grunwald ec226b0006 Add ILAst folding and remove unused RemoveDeadVariableInit transform. 9 years ago
Daniel Grunwald 1aaf7b3dc0 Fix bugs in data flow analysis. 9 years ago
Daniel Grunwald b55775e2cc Add reaching definitions analysis. 9 years ago
Daniel Grunwald c171dbd520 Add class VariableScope. 9 years ago
Daniel Grunwald 0d6424bd12 IntroduceExitPoints 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
Daniel Grunwald 0cae30cce2 ILInstruction.Clone() 10 years ago
Daniel Grunwald 6b4ea94a2e Introduce 'leave' instruction for leaving block containers. 10 years ago
Daniel Grunwald bcfe1b0813 Add ILInstruction.ReplaceWith() method and make ILInstruction.Children an IReadOnlyList. 10 years ago
Daniel Grunwald b2dfdea68e Add loop detection. 10 years ago
Siegfried Pammer f45c2fa401 implement TransformStackIntoVariables step to eliminate peek and pop instructions 10 years ago
Daniel Grunwald 2dd5a38d05 Generalize inlining, and make it usable for symbolic phase-1 execution. 10 years ago
Daniel Grunwald 5b41b662a2 More clearly document block semantics, in particular regarding phase-1 and phase-2 execution. 10 years ago
Daniel Grunwald 68ab914293 Build exception handling blocks 11 years ago
Daniel Grunwald 63b32fef35 Create ILFunction top-level node 11 years ago
Daniel Grunwald 2f1e229046 Add parent pointers to ILAst 11 years ago
Daniel Grunwald 42bfff077d Finish the move to the new generated ILAst classes 11 years ago