diff --git a/functions/MPI_functions.c b/functions/MPI_functions.c index b5e80e59e0b6a45b8d1eff33a42d3052c5eee046..9a9739085290fd5591dae1167214032a62442420 100644 --- a/functions/MPI_functions.c +++ b/functions/MPI_functions.c @@ -1,5 +1,6 @@ #include "MPI_functions.h" +// function writing the MPI code from the enum type to basic blocs void write_mpi_code(function * fun) { basic_block bb; @@ -24,6 +25,7 @@ void write_mpi_code(function * fun) } } +// prints the number of mpi calls in all basic blocks void detect_same_bb_mpi_call(function * fun) { basic_block bb; @@ -48,6 +50,7 @@ void detect_same_bb_mpi_call(function * fun) } } +// returns 1 if there is several mpi calls in a bb in the function int are_there_several_mpi_call(function * fun) { basic_block bb; @@ -75,6 +78,7 @@ int are_there_several_mpi_call(function * fun) return 0; } +//function parsing a gimple statement to check the type of MPI call mpi_collective_code get_mpi_code(gimple * stmt) { if (is_gimple_call(stmt)) @@ -93,7 +97,7 @@ mpi_collective_code get_mpi_code(gimple * stmt) } return LAST_AND_UNUSED_MPI_COLLECTIVE_CODE; } - +// recursive function splitting blocks until there is no other blocks to split void split_mpi_block(function * fun) { if (are_there_several_mpi_call(fun) == 1) @@ -131,7 +135,7 @@ void split_mpi_block(function * fun) } } } - +// function writing the number of mpi calls in a basic block in aux void mark_number_of_calls(function * fun) { basic_block bb; @@ -148,7 +152,6 @@ void mark_number_of_calls(function * fun) *current_enum = get_mpi_code(stmt); if (*current_enum != LAST_AND_UNUSED_MPI_COLLECTIVE_CODE) { - //printf("Current mpi code : %i\n",(int)*current_enum); call_counter++; } diff --git a/functions/aux_values.c b/functions/aux_values.c index bd451c638099b36ba16fc41ab73bea546fc0d0ed..f34221df1ebe260a7aaa165b790a861236c89c32 100644 --- a/functions/aux_values.c +++ b/functions/aux_values.c @@ -1,11 +1,13 @@ #include "aux_values.h" +// edit the aux value of a specific basic bloc with an int void edit_aux_value(basic_block bb, int *i) { bb->aux = (int*)xmalloc(sizeof (int)); bb->aux = i; } +// edit the aux value of all the basic bloc with an int void edit_all_aux_value(function * fun,int *i) { basic_block bb; @@ -15,7 +17,7 @@ void edit_all_aux_value(function * fun,int *i) bb->aux = i; } } - +//function printing basic blocs auxiliary values void print_bb_aux(function * fun) { basic_block bb; diff --git a/functions/dominance.c b/functions/dominance.c index 91fffcf97ce59ca347ae4e11366ca7740693a16c..0ed980277d4d89854105cc775e40e764e8219c9e 100644 --- a/functions/dominance.c +++ b/functions/dominance.c @@ -22,7 +22,6 @@ void print_dominance(function * fun) void print_post_dominance(function * fun) { basic_block bb; - //gimple_stmt_iterator gsi; calculate_dominance_info(CDI_POST_DOMINATORS); FOR_ALL_BB_FN(bb,fun) { @@ -41,7 +40,6 @@ void print_post_dominance(function * fun) void print_strictly_dominated(function * fun) { basic_block bb; - //gimple_stmt_iterator gsi; calculate_dominance_info(CDI_DOMINATORS); FOR_ALL_BB_FN(bb,fun) { @@ -64,7 +62,6 @@ void print_strictly_dominated(function * fun) void print_strictly_post_dominated(function * fun) { basic_block bb; - //gimple_stmt_iterator gsi; calculate_dominance_info(CDI_POST_DOMINATORS); FOR_ALL_BB_FN(bb,fun) { diff --git a/functions/frontier.c b/functions/frontier.c index d52f0c82972f6430a10e43cedd4377b7058a03a7..7d055b7625450f53338a7ae3b277c8fd3493d174 100644 --- a/functions/frontier.c +++ b/functions/frontier.c @@ -1,5 +1,6 @@ #include "frontier.h" +// Print basic pdf using bitmaps void bitmap_pdf(function * fun) { printf("---------\n"); @@ -25,6 +26,9 @@ void bitmap_pdf(function * fun) } free_dominance_info(fun, CDI_POST_DOMINATORS); } + +//Function computing the post dominance frontier in bitmap_pdf +// Using a bitmap of bitmaps void bitmap_post_dominance_frontiers (bitmap_head *frontiers, function * fun) { edge p; @@ -56,6 +60,7 @@ void bitmap_post_dominance_frontiers (bitmap_head *frontiers, function * fun) } } +//function prints the union of pdf frontiers void bitmap_pdf_union(function * fun) { printf("\n---------\n"); @@ -89,6 +94,8 @@ void bitmap_pdf_union(function * fun) free_dominance_info(fun, CDI_POST_DOMINATORS); } + +//function computing the union pdf frontiers void bitmap_set_pdf_union(bitmap_head node_set, bitmap_head *pdf, bitmap_head * pdf_set, function * fun) { basic_block bb; @@ -106,7 +113,7 @@ void bitmap_set_pdf_union(bitmap_head node_set, bitmap_head *pdf, bitmap_head * } - +//function printing the iterated pdf frontier void bitmap_iterated_pdf_union(function * fun) { printf("\n---------\n"); @@ -148,6 +155,7 @@ void bitmap_iterated_pdf_union(function * fun) free_dominance_info(fun, CDI_POST_DOMINATORS); } +//function computing the iterated pdf void iterated_post_dominance(bitmap_head pdf_node_set, bitmap_head *pdf, bitmap_head * ipdf_set, function * fun) { basic_block bb, b; @@ -179,6 +187,7 @@ void iterated_post_dominance(bitmap_head pdf_node_set, bitmap_head *pdf, bitmap_ } +// prints the pdf frontier of mpi nodes in the iterated frontier void bitmap_mpi_iterated_pdf_union(function * fun) { printf("\n---------\n"); @@ -242,6 +251,7 @@ void bitmap_mpi_iterated_pdf_union(function * fun) free_dominance_info(fun, CDI_POST_DOMINATORS); } +//Analysis function printing the computed MPI PDF frontier void detect_potential_deadlock(function * fun) { printf("\n------------------\n"); @@ -305,6 +315,7 @@ void detect_potential_deadlock(function * fun) free_dominance_info(fun, CDI_POST_DOMINATORS); } +// print warning function from td5 void issue_warnings (bitmap_head ipdf_set, function * fun) { basic_block bb;