diff options
| author | Tim Blazytko <tim.blazytko@rub.de> | 2015-05-16 03:45:50 +0200 |
|---|---|---|
| committer | Tim Blazytko <tim.blazytko@rub.de> | 2015-06-02 15:04:04 +0200 |
| commit | 5fc740de493c80731de0d0767c54fb6c9516b617 (patch) | |
| tree | 20528df8dd1d87723a09fd43a84f65bb41a80a2e | |
| parent | 9af5b22b6daaefbae6caadc8943a12baee785329 (diff) | |
| download | miasm-5fc740de493c80731de0d0767c54fb6c9516b617.tar.gz miasm-5fc740de493c80731de0d0767c54fb6c9516b617.zip | |
DiGraph: fixed order in dominance_frontier
| -rw-r--r-- | miasm2/core/graph.py | 6 | ||||
| -rw-r--r-- | test/core/graph.py | 12 |
2 files changed, 11 insertions, 7 deletions
diff --git a/miasm2/core/graph.py b/miasm2/core/graph.py index b0dc70d6..00c30d62 100644 --- a/miasm2/core/graph.py +++ b/miasm2/core/graph.py @@ -338,9 +338,9 @@ shape = "box" if runner not in idoms: continue while runner != idoms[node]: - if node not in frontier: - frontier[node] = set() + if runner not in frontier: + frontier[runner] = set() - frontier[node].add(runner) + frontier[runner].add(node) runner = idoms[runner] return frontier diff --git a/test/core/graph.py b/test/core/graph.py index 4ef37040..85218a1c 100644 --- a/test/core/graph.py +++ b/test/core/graph.py @@ -145,11 +145,15 @@ assert(idoms == {3: 6, 9: 4}) frontier = g1.compute_dominance_frontier(1) -assert(frontier == {2: set([2, 5]), - 5: set([3, 4])}) +assert(frontier == {2: set([2]), + 3: set([5]), + 4: set([5]), + 5: set([2])}) frontier = g2.compute_dominance_frontier(1) -assert(frontier == {9: set([7, 8])}) +assert(frontier == {7: set([9]), + 8: set([9])}) frontier = g2.compute_dominance_frontier(5) -assert(frontier == {9: set([7, 8])}) \ No newline at end of file +assert(frontier == {7: set([9]), + 8: set([9])}) \ No newline at end of file |