X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeprefalloc.c;h=b35947d72e90962b293e1de43af92a66c7ca145b;hb=b152c943b88744d5e212f86d315a36c7b43ae574;hp=ec4c89477fd4eb00cdb86b4617ca17d545833cb5;hpb=5244f95767968d8b59ef3f2031612b86474e2455;p=libfirm diff --git a/ir/be/beprefalloc.c b/ir/be/beprefalloc.c index ec4c89477..b35947d72 100644 --- a/ir/be/beprefalloc.c +++ b/ir/be/beprefalloc.c @@ -93,7 +93,7 @@ static unsigned n_regs; static unsigned *normal_regs; static int *congruence_classes; static ir_node **block_order; -static int n_block_order; +static size_t n_block_order; static int create_preferences = true; static int create_congruence_classes = true; static int propagate_phi_registers = true; @@ -635,12 +635,12 @@ static bool try_optimistic_split(ir_node *to_split, ir_node *before, ir_node *original_insn; ir_node *block; ir_node *copy; - unsigned r; + unsigned r = 0; unsigned from_r; unsigned i; allocation_info_t *info = get_allocation_info(to_split); reg_pref_t *prefs; - float delta; + float delta = 0; float split_threshold; (void) pref; @@ -747,7 +747,7 @@ static void assign_reg(const ir_node *block, ir_node *node, ir_node *in_node; unsigned i; const unsigned *allowed_regs; - unsigned r; + unsigned r = 0; assert(!is_Phi(node)); /* preassigned register? */ @@ -1239,7 +1239,7 @@ static void enforce_constraints(ir_nodeset_t *live_nodes, ir_node *node, permute_values(live_nodes, node, assignment); } -/** test wether a node @p n is a copy of the value of node @p of */ +/** test whether a node @p n is a copy of the value of node @p of */ static bool is_copy_of(ir_node *value, ir_node *test_value) { allocation_info_t *test_info; @@ -1736,13 +1736,13 @@ static int cmp_block_costs(const void *d1, const void *d2) static void determine_block_order(void) { - int i; + size_t i; ir_node **blocklist = be_get_cfgpostorder(irg); - int n_blocks = ARR_LEN(blocklist); + size_t n_blocks = ARR_LEN(blocklist); int dfs_num = 0; pdeq *worklist = new_pdeq(); ir_node **order = XMALLOCN(ir_node*, n_blocks); - int order_p = 0; + size_t order_p = 0; /* clear block links... */ for (i = 0; i < n_blocks; ++i) { @@ -1753,9 +1753,9 @@ static void determine_block_order(void) /* walk blocks in reverse postorder, the costs for each block are the * sum of the costs of its predecessors (excluding the costs on backedges * which we can't determine) */ - for (i = n_blocks-1; i >= 0; --i) { + for (i = n_blocks; i > 0;) { block_costs_t *cost_info; - ir_node *block = blocklist[i]; + ir_node *block = blocklist[--i]; float execfreq = (float)get_block_execfreq(execfreqs, block); float costs = execfreq; @@ -1840,7 +1840,7 @@ static void determine_block_order(void) */ static void be_pref_alloc_cls(void) { - int i; + size_t i; lv = be_assure_liveness(irg); be_liveness_assure_sets(lv); @@ -1964,7 +1964,7 @@ static void be_pref_alloc(ir_graph *new_irg) obstack_free(&obst, NULL); } -BE_REGISTER_MODULE_CONSTRUCTOR(be_init_pref_alloc); +BE_REGISTER_MODULE_CONSTRUCTOR(be_init_pref_alloc) void be_init_pref_alloc(void) { static be_ra_t be_ra_pref = {