diff --git a/src/pass_mpi_collective.cpp b/src/pass_mpi_collective.cpp index f5f1f340413087b0f94e643d317e8cb373b1768a..97aefa59d8501ce5c65837a81dbbc39dfc83451e 100644 --- a/src/pass_mpi_collective.cpp +++ b/src/pass_mpi_collective.cpp @@ -229,7 +229,7 @@ void pass_mpi_collective::alloc_bb_aux(function *fun) { data->collective_rank[i] = 0; } - bitmap_initialize(&data->seens, NULL); + bitmap_initialize(&data->seens, &bitmap_default_obstack); } } @@ -649,7 +649,6 @@ int pass_mpi_collective::__better_rank_collective(basic_block bb, { next_rank++; } - ((bb_data *) bb->aux)->collective_rank[mpi_code] = next_rank; return next_rank; } @@ -730,6 +729,7 @@ bitmap pass_mpi_collective::get_set_mpi_coll_rank(function *fun __is_pd_set_mpi_coll_rank(fun, ENTRY_BLOCK_PTR_FOR_FN(fun) , rank, mpi_code, set_post_dommed); + reset_bb_mark(fun); return set_post_dommed; } @@ -752,10 +752,10 @@ bitmap pass_mpi_collective::get_frontier_from_pds(function *fun { if (bitmap_bit_p(pds, bb->index)) { - printf("entering %i\n", bb->index); + //printf("entering %i\n", bb->index); FOR_EACH_EDGE(e, ei, bb->preds) { - printf("\tchecking out my parent %i\n", e->src->index); + //printf("\tchecking out my parent %i\n", e->src->index); if (!bitmap_bit_p(pds, e->src->index)) { bitmap_set_bit(pdf, e->src->index); @@ -774,10 +774,10 @@ void pass_mpi_collective::raise_warning_if_mpi_very_wrong(function *fun) bitmap pds; bitmap pdf; - for (int i = 0 ; i < collective_max_rank[mpi_code] ; i++) + for (int i = 1 ; i < collective_max_rank[mpi_code] + 1 ; i++) { - printf("%i and %i\n", i, mpi_code); + printf("mpi_code: %i at rank: %i\n", mpi_code, i); pds = get_set_mpi_coll_rank(fun, i, mpi_code); pdf = get_frontier_from_pds(fun, pds);