diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-07-12 18:15:24 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-07-12 18:15:24 (GMT) |
commit | bdda063b67d8c1d402f6dc17726fed0c800d3d1c (patch) | |
tree | a1e8458bb03b6617b3190fe880773b6605185bde | |
parent | a331ff258895865049bf79bc1629dbc744b7faf5 (diff) |
Fixed the computation of dominators for the loops detection.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/analysis/disass/dragon.c | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -1,4 +1,9 @@ -17-07-08 Cyrille Bagard <nocbos@gmail.com> +17-07-12 Cyrille Bagard <nocbos@gmail.com> + + * src/analysis/disass/dragon.c: + Fix the computation of dominators for the loops detection. + +17-07-12 Cyrille Bagard <nocbos@gmail.com> * configure.ac: * plugins/fmtp/parser.c: diff --git a/src/analysis/disass/dragon.c b/src/analysis/disass/dragon.c index 9064af8..655300b 100644 --- a/src/analysis/disass/dragon.c +++ b/src/analysis/disass/dragon.c @@ -591,6 +591,8 @@ void compute_all_dominators(dragon_node *nodes, size_t count) set_in_bit_field(inter, k, 1); + or_bit_field(inter, node->bits); + if (compare_bit_fields(node->bits, inter) != 0) { copy_bit_field(node->bits, inter); |