X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeifg.c;h=8a44fe9c0b134b011b84584cb0b22d12e7cace1d;hb=dd4cd761ab637d4488c7e29f49843b1b02366acf;hp=0f0bb8c8b5b7609b8182fefd132cf739911cea27;hpb=39f3a8dbd0f00f90b7b12a849d1bf7b9c1329479;p=libfirm diff --git a/ir/be/beifg.c b/ir/be/beifg.c index 0f0bb8c8b..8a44fe9c0 100644 --- a/ir/be/beifg.c +++ b/ir/be/beifg.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -30,10 +30,10 @@ #include -#include -#include -#include +#include "lc_opts.h" +#include "lc_opts_enum.h" +#include "timing.h" #include "bitset.h" #include "irgwalk.h" #include "irnode_t.h" @@ -78,9 +78,11 @@ size_t (be_ifg_cliques_iter_size)(const be_ifg_t *ifg) return ifg->impl->cliques_iter_size; } -static void *regs_irn_data_init(ir_phase *ph, ir_node *irn, void *data) +static void *regs_irn_data_init(ir_phase *ph, const ir_node *irn, void *data) { coloring_t *coloring = (coloring_t *) ph; + (void) data; + return (void *) arch_get_irn_register(coloring->arch_env, irn); } @@ -259,8 +261,8 @@ static int be_ifg_check_cmp_nodes(const void *a, const void *b) const ir_node *node_a = *(ir_node **)a; const ir_node *node_b = *(ir_node **)b; - long nr_a = get_irn_node_nr(node_a); - long nr_b = get_irn_node_nr(node_b); + long nr_a = get_irn_idx(node_a); + long nr_b = get_irn_idx(node_b); return QSORT_CMP(nr_a, nr_b); } @@ -393,7 +395,7 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) copy_opt_t *co; be_ifg_t *old_if = chordal_env->ifg; - lc_timer_t *timer = lc_timer_register("getTime","get Time of copy minimization using the ifg"); + ir_timer_t *timer = ir_timer_register("getTime","get Time of copy minimization using the ifg"); unsigned long elapsed_usec = 0; if (get_irg_estimated_node_cnt(chordal_env->irg) >= BE_CH_PERFORMANCETEST_MIN_NODES) @@ -401,22 +403,22 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) coloring_init(&coloring, chordal_env->irg, chordal_env->birg->main_env->arch_env); coloring_save(&coloring); - lc_timer_reset(timer); + ir_timer_reset(timer); for (i = 0; iifg = be_ifg_std_new(chordal_env); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); - used_memory = lc_get_heap_used_bytes() - used_memory; + used_memory = ir_get_heap_used_bytes() - used_memory; coloring_restore(&coloring); @@ -425,13 +427,13 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) co_build_ou_structure(co); co_build_graph_structure(co); - rt = lc_timer_enter_high_priority(); - lc_timer_start(timer); + rt = ir_timer_enter_high_priority(); + ir_timer_start(timer); co_solve_heuristic_new(co); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); co_free_graph_structure(co); co_free_ou_structure(co); @@ -440,7 +442,7 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) } - elapsed_usec = lc_timer_elapsed_usec(timer); + elapsed_usec = ir_timer_elapsed_usec(timer); /* calculating average */ elapsed_usec = elapsed_usec / tests; @@ -451,17 +453,17 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) for (i = 0; iifg = be_ifg_clique_new(chordal_env); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); - used_memory = lc_get_heap_used_bytes() - used_memory; + used_memory = ir_get_heap_used_bytes() - used_memory; coloring_restore(&coloring); @@ -470,13 +472,13 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) co_build_ou_structure(co); co_build_graph_structure(co); - rt = lc_timer_enter_high_priority(); - lc_timer_start(timer); + rt = ir_timer_enter_high_priority(); + ir_timer_start(timer); co_solve_heuristic_new(co); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); co_free_graph_structure(co); co_free_ou_structure(co); @@ -485,7 +487,7 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) } - elapsed_usec = lc_timer_elapsed_usec(timer); + elapsed_usec = ir_timer_elapsed_usec(timer); /* calculating average */ elapsed_usec = elapsed_usec / tests; @@ -496,17 +498,17 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) for (i = 0; iifg = be_ifg_list_new(chordal_env); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); - used_memory = lc_get_heap_used_bytes() - used_memory; + used_memory = ir_get_heap_used_bytes() - used_memory; coloring_restore(&coloring); @@ -515,13 +517,13 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) co_build_ou_structure(co); co_build_graph_structure(co); - rt = lc_timer_enter_high_priority(); - lc_timer_start(timer); + rt = ir_timer_enter_high_priority(); + ir_timer_start(timer); co_solve_heuristic_new(co); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); co_free_graph_structure(co); co_free_ou_structure(co); @@ -530,7 +532,7 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) } - elapsed_usec = lc_timer_elapsed_usec(timer); + elapsed_usec = ir_timer_elapsed_usec(timer); /* calculating average */ elapsed_usec = elapsed_usec / tests; @@ -541,17 +543,17 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) for (i = 0; iifg = be_ifg_pointer_new(chordal_env); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); - used_memory = lc_get_heap_used_bytes() - used_memory; + used_memory = ir_get_heap_used_bytes() - used_memory; coloring_restore(&coloring); @@ -560,13 +562,13 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) co_build_ou_structure(co); co_build_graph_structure(co); - rt = lc_timer_enter_high_priority(); - lc_timer_start(timer); + rt = ir_timer_enter_high_priority(); + ir_timer_start(timer); co_solve_heuristic_new(co); - lc_timer_stop(timer); - rt = lc_timer_leave_high_priority(); + ir_timer_stop(timer); + rt = ir_timer_leave_high_priority(); co_free_graph_structure(co); co_free_ou_structure(co); @@ -575,7 +577,7 @@ void be_ifg_check_performance(be_chordal_env_t *chordal_env) } - elapsed_usec = lc_timer_elapsed_usec(timer); + elapsed_usec = ir_timer_elapsed_usec(timer); /* calculating average */ elapsed_usec = elapsed_usec / tests; @@ -720,7 +722,7 @@ static lc_opt_enum_int_var_t ifg_flavor_var = { static const lc_opt_table_entry_t be_ifg_options[] = { LC_OPT_ENT_ENUM_PTR ("ifg", "interference graph flavour", &ifg_flavor_var), - { NULL } + LC_OPT_LAST }; void be_init_ifg(void)