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
b => b.Successors, b => b.Successors,
b => { b => {
if (b != EntryPoint) { 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 // for all other predecessors p of b
foreach (ControlFlowNode p in b.Predecessors) { foreach (ControlFlowNode p in b.Predecessors) {
if (p != b && p.ImmediateDominator != null) { if (p != b && p.ImmediateDominator != null) {

Loading…
Cancel
Save