Browse Source

Fixed a bug in the graph dominance calculation

pull/100/head
David Srbecký 15 years ago
parent
commit
9fcf789277
  1. 2
      ICSharpCode.Decompiler/FlowAnalysis/ControlFlowGraph.cs

2
ICSharpCode.Decompiler/FlowAnalysis/ControlFlowGraph.cs

@ -120,7 +120,7 @@ namespace ICSharpCode.Decompiler.FlowAnalysis @@ -120,7 +120,7 @@ namespace ICSharpCode.Decompiler.FlowAnalysis
b => b.Successors,
b => {
if (b != EntryPoint) {
ControlFlowNode newIdom = b.Predecessors.First(block => block.Visited);
ControlFlowNode newIdom = b.Predecessors.First(block => block.Visited && block != b);
// for all other predecessors p of b
foreach (ControlFlowNode p in b.Predecessors) {
if (p != b && p.ImmediateDominator != null) {

Loading…
Cancel
Save