From fe679c19bb156abb348184b1dd222adb61164c23 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Fri, 18 Jan 2019 21:51:26 +0100 Subject: Handled bigger irreducible loops without blocking. --- src/analysis/disass/loop.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/analysis/disass/loop.c b/src/analysis/disass/loop.c index 4a499fd..c37c7f6 100644 --- a/src/analysis/disass/loop.c +++ b/src/analysis/disass/loop.c @@ -408,9 +408,8 @@ static void define_basic_blocks_loops(GBlockList *list, bblock_info_t *info) { links = get_block_predecessors(block, info, &count); - for (k = 0; k < count; k++) - if (links[k].info->iloop_header == iter->iloop_header) + if (should_be_natural_loop_link(iter->iloop_header, links[k].info->iloop_header)) { g_basic_block_get_boundaries(G_BASIC_BLOCK(links[k].linked), NULL, &last); g_basic_block_get_boundaries(G_BASIC_BLOCK(block), &first, NULL); -- cgit v0.11.2-87-g4458