From 85536ec36b4d2b20dad0767c3d25e3c41ce8c4d5 Mon Sep 17 00:00:00 2001 From: Thomas Bersch Date: Tue, 22 Sep 2009 11:42:32 +0000 Subject: [PATCH] some unnecessary comments removed [r26601] --- ir/be/becopypbqp.c | 105 ++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 69 deletions(-) diff --git a/ir/be/becopypbqp.c b/ir/be/becopypbqp.c index 2e759df99..7b41d4f4f 100644 --- a/ir/be/becopypbqp.c +++ b/ir/be/becopypbqp.c @@ -24,20 +24,17 @@ #include "bemodule.h" #include "irprintf_t.h" +#include "besched.h" +#include "bearch.h" +#include "irdom.h" +#include "iredges.h" + #include "error.h" #include "bitset.h" #include "pmap.h" - -#include "irdom.h" -#include "besched.h" -#include "irgwalk.h" #include "plist.h" #include "pqueue.h" -#include "bearch.h" -#include "iredges.h" - - #if KAPS_DUMP static FILE *my_open(const be_chordal_env_t *env, const char *prefix, const char *suffix) { @@ -65,12 +62,10 @@ static FILE *my_open(const be_chordal_env_t *env, const char *prefix, const char #endif static void insert_into_reverse_peo(ir_node *block, void *data) { + pqueue_t *queue = new_pqueue(); pbqp_co_t *pbqp_co = data; - pqueue_t *queue = new_pqueue(); ir_node *irn; -// int cnt = 0; - sched_foreach(block, irn) { pbqp_node *node; @@ -83,37 +78,28 @@ static void insert_into_reverse_peo(ir_node *block, void *data) { continue; // get related pbqp_node and insert into reverse peo -// node = pmap_find(pbqp_co->map,proj)->value; assert(node && "No corresponding PBQP-Node found!"); - // insert proj into ordered list + // insert proj node into priority queue (descending by their degree in ifg) pqueue_put(queue,proj, be_ifg_degree(pbqp_co->ifg,proj)); -// cnt++; -// printf("(%d) Index: %d NodeNr: %ld\n", cnt, get_irn_idx(proj), proj->node_nr); } + /* insert proj nodes into reverse perfect elimination order (descending by their degree in ifg) */ while(!pqueue_empty(queue)) { - // copy proj from ordered list (ordered by their node degree in ifg) into reverse perfect elimination order + plist_insert_back(pbqp_co->rpeo, get_node(pbqp_co->pbqp, get_irn_idx(pqueue_pop_front(queue)))); } } else { if (!arch_irn_consider_in_reg_alloc(pbqp_co->cls, irn)) continue; - // get related pbqp_node and insert into reverse peo -// node = pmap_find(pbqp_co->map,irn)->value; + /* get related pbqp_node and insert into reverse peo */ assert(node && "No corresponding PBQP-Node found!"); plist_insert_back(pbqp_co->rpeo, get_node(pbqp_co->pbqp, get_irn_idx(irn))); -// cnt++; -// printf("(%d) Index: %d NodeNr: %ld\n", cnt, get_irn_idx(irn), irn->node_nr); } } -// while(pqueue_length(queue) > 0) { -// ir_node *node = pqueue_pop_front(queue); -// printf("Node: %d IFG-Degree: %d\n", get_irn_idx(node), be_ifg_degree(pbqp_co->ifg,node)); -// } - + /* free priority queue */ del_pqueue(queue); } @@ -127,14 +113,8 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { unsigned number_registers = co->cls->n_regs; unsigned number_nodes = get_irg_last_idx(co->irg); -// unsigned nodeIdx = 0; -// // count nodes in ifg -// be_ifg_foreach_node(co->cenv->ifg, nodes_it, ifg_node) { -// number_nodes++; -// } - - // create and initialize data structure for pbqp copy min. optimization + /* create and initialize data structure for pbqp copy minimization optimization */ pbqp_co.cls = co->cls; pbqp_co.rpeo = plist_new();; pbqp_co.map = pmap_create_ex(number_nodes); @@ -142,16 +122,15 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { pbqp_co.ignore_reg = bitset_malloc(number_registers); pbqp_co.ifg = co->cenv->ifg; - // get ignored registers + /* get ignored registers */ be_put_ignore_regs(co->cenv->birg, co->cls, pbqp_co.ignore_reg); - // add costs vector to nodes -// nodeIdx = 0; + /* add costs vector to nodes */ be_ifg_foreach_node(co->cenv->ifg, nodes_it, ifg_node) { - // create costs vector + /* create costs vector */ struct vector *costs_vector = vector_alloc(pbqp_co.pbqp, number_registers); - // set costs + /* set costs */ unsigned int cnt; for(cnt = 0; cnt < costs_vector->len; cnt++) { if (bitset_is_set(pbqp_co.ignore_reg,cnt)) { @@ -167,34 +146,27 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { } } #if KAPS_ENABLE_VECTOR_NAMES - // add description + /* add description */ vector_set_description(costs_vector, cnt, arch_register_for_index(co->cls, cnt)->name); #endif } - // add costs vector to node + /* add costs vector to node */ add_node_costs(pbqp_co.pbqp, get_irn_idx(ifg_node), costs_vector); - // insert ir_node and pbqp_node into map + /* insert ir_node and pbqp_node into map */ pmap_insert(pbqp_co.map, ifg_node, get_node(pbqp_co.pbqp, get_irn_idx(ifg_node))); - -// // increment nodeIndex -// nodeIdx++; } - // add pbqp edges and cost matrix + /* add pbqp edges and cost matrix */ be_ifg_foreach_node(co->cenv->ifg, nodes_it, ifg_node) { -// pbqp_node *src_node = pmap_find(pbqp_co.map,ifg_node)->value; -// unsigned int srcNodeIdx = src_node->index; - - // add costs matrix between nodes (interference edge) + /* add costs matrix between nodes (interference edge) */ be_ifg_foreach_neighbour(co->cenv->ifg, neigh_it, ifg_node, if_neighb_node) { -// pbqp_node *trg_node = pmap_find(pbqp_co.map,if_neighb_node)->value; if(get_edge(pbqp_co.pbqp,get_irn_idx(ifg_node), get_irn_idx(if_neighb_node)) == NULL) { - // create costs matrix + /* create costs matrix */ struct pbqp_matrix *matrix = pbqp_matrix_alloc(pbqp_co.pbqp, number_registers, number_registers); - // set costs + /* set costs */ unsigned row, col; for(row = 0; row < number_registers; row++) { for(col = 0; col < number_registers; col++) { @@ -207,27 +179,28 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { } } - // add costs matrix to interference edge + /* add costs matrix to interference edge */ add_edge_costs(pbqp_co.pbqp, get_irn_idx(ifg_node), get_irn_idx(if_neighb_node) , matrix); } } - // add costs matrix between nodes (affinity edge) + /* add costs matrix between nodes (affinity edge) */ affinity_node_t *aff_node = get_affinity_info(co, ifg_node); neighb_t *aff_neighb_node; if(aff_node != NULL) { co_gs_foreach_neighb(aff_node, aff_neighb_node) { pmap_entry *ptr_pbqp_node = pmap_find(pbqp_co.map,aff_neighb_node->irn); - // ignore Unknowns + + /* ignore Unknowns */ if(ptr_pbqp_node == NULL) { continue; } -// pbqp_node *trg_node = ptr_pbqp_node->value; + if(get_edge(pbqp_co.pbqp, get_irn_idx(aff_node->irn), get_irn_idx(aff_neighb_node->irn)) == NULL) { - // create costs matrix + /* create costs matrix */ struct pbqp_matrix *matrix = pbqp_matrix_alloc(pbqp_co.pbqp, number_registers, number_registers); - // set costs + /* set costs */ unsigned row, col; for(row = 0; row < number_registers; row++) { for(col = 0; col < number_registers; col++) { @@ -240,22 +213,17 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { } } - // add costs matrix to interference edge + /* add costs matrix to affinity edge */ add_edge_costs(pbqp_co.pbqp, get_irn_idx(aff_node->irn), get_irn_idx(aff_neighb_node->irn) , matrix); } } } } - -// printf("S %d ------- -------- %s ---------\n",pmap_count(pbqp_co.map), co->name); - - // create reverse perfect elimination order + /* create reverse perfect elimination order */ assure_doms(co->irg); dom_tree_walk_irg(co->irg, insert_into_reverse_peo, NULL, &pbqp_co); -// printf("E ------- -------- %s ---------\n", co->name); - #if KAPS_DUMP // dump graph before solving pbqp FILE *file_before = my_open(co->cenv, "", "-before.html"); @@ -264,7 +232,7 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { #endif - // solve pbqp problem + /* solve pbqp problem using a reverse perfect elimination order */ solve_pbqp_heuristical_co(pbqp_co.pbqp, pbqp_co.rpeo); num solution = get_solution(pbqp_co.pbqp); @@ -272,21 +240,20 @@ static int co_solve_heuristic_pbqp(copy_opt_t *co) { #if KAPS_DUMP - // dump graph after solving pbqp + /* dump graph after solving pbqp */ FILE *file_after = my_open(co->cenv, "", "-after.html"); set_dumpfile(pbqp_co.pbqp, file_after); pbqp_dump_input(pbqp_co.pbqp); #endif - // coloring ifg + /* coloring ifg */ be_ifg_foreach_node(co->cenv->ifg, nodes_it, ifg_node) { -// pbqp_node *node = pmap_find(pbqp_co.map,ifg_node)->value; num index = get_node_solution(pbqp_co.pbqp, get_irn_idx(ifg_node)); const arch_register_t *reg = arch_register_for_index(co->cls, index); arch_set_irn_register(ifg_node, reg); } - // free pbqp resources + /* free pbqp resources */ #if KAPS_DUMP fclose(file_before); fclose(file_after); -- 2.20.1