23 Commits
Author SHA1 Message Date
Siegfried Pammer 6cee0cdc4b Fix #3258: Move GraphVizGraph and friends to ILSpy and remove InternalsVisibleTo. 2024-08-13 11:43:04 +02:00
Daniel Grunwald c12187277c Also use GraphTraversal.DepthFirstSearch for dominance calculation. 2023-10-21 17:33:30 +02:00
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 2020-08-28 01:05:38 +02:00
Daniel Grunwald 9ef97703cd [switch] consider loop back-edges to be exit points when looking for the switch body 2017-10-11 19:43:34 +02:00
Siegfried Pammer 840ec04fde Namespace adjustments for Syntax classes 2016-11-26 12:06:58 +01:00
Christoph Wille 1ce8349dd9 Adjust namespaces 2016-11-26 11:12:53 +01:00
Siegfried Pammer 284ddfadf1 Phase 2: Merge ICSharpCode.NRefactory into ICSharpCode.Decompiler 2016-11-26 00:26:27 +01:00
Daniel Grunwald 9dec6c80a7 LoopDetection: use post-dominance to find better loop exit points 2016-07-29 15:35:35 +02:00
Daniel Grunwald 0e118f0977 LoopDetection: in loops without any exit points, exclude the largest possible code block from the loop 2016-07-28 21:26:12 +02:00
Daniel Grunwald 2509f27223 * Rename ControlFlowSimplification to ConditionDetection
* Rename OptimizingTransform to ControlFlowSimplification
* Move control flow transforms to separate namespace.
2015-06-14 20:53:22 +02:00
Daniel Grunwald b2dfdea68e Add loop detection. 2015-03-15 23:56:06 +01:00
Daniel Grunwald 979f7d018a Traverse the dominator tree in depth-first order when finding conditions. This reduces the number of gotos produced for complex control flow.
Closes #253.
2012-04-13 22:46:24 +02:00
Siegfried Pammer 1e79bf3588 do not use DominanceFrontiers to detect condition bodies; closes #300 2012-04-12 19:55:52 +02:00
David Srbecký d9cdb29c2d Refactoring control flow 2011-02-13 22:05:23 +00:00
Daniel Grunwald 044714fe29 Use a simpler loop detection for the disassembler. 2011-02-08 00:06:09 +01:00
Daniel Grunwald 3d28650309 ControlFlowGraphBuilder bugfix: "try { try {} finally {} } catch {}" 2011-02-06 20:02:50 +01:00
Daniel Grunwald 0259fa8037 Remove unused imports 2011-02-06 00:07:25 +01:00
Daniel Grunwald d569ba5395 Moving the disassembler into the ICSharpCode.Decompiler library. 2011-02-06 00:03:20 +01:00
Daniel Grunwald ae26637949 A bit more documentation for my FlowAnalysis code. 2011-02-05 23:50:10 +01:00
Daniel Grunwald dbdb2c1561 Show loop head in disassembly view. 2011-02-05 14:22:24 +01:00
Daniel Grunwald 6d7a7b90cb Bugfix ControlStructureDetector: allow moving exception handler blocks into loops. 2011-02-05 14:12:47 +01:00
Daniel Grunwald 34362a0eaf Implemented a very simple loop detection. 2011-02-05 11:48:13 +01:00
Daniel Grunwald 591c4c5bb8 Add control flow analysis. 2011-02-05 00:10:46 +01:00