diff options
-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); |