X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fira-build.c;h=16909a9a42a739a2a3e1a3eb76b8bf95488f231a;hb=0378889e03cb5daa8dbca43966085838a7ae5b1c;hp=4af927a041f9128bb7b16cdee71e25622996b028;hpb=8efd2ddba599339e32908834e199197a033accb1;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ira-build.c b/gcc/ira-build.c index 4af927a041f..16909a9a42a 100644 --- a/gcc/ira-build.c +++ b/gcc/ira-build.c @@ -58,7 +58,7 @@ ira_loop_tree_node_t ira_bb_nodes; array. */ ira_loop_tree_node_t ira_loop_nodes; -/* Map regno -> allocnos with given regno (see comments for +/* Map regno -> allocnos with given regno (see comments for allocno member `next_regno_allocno'). */ ira_allocno_t *ira_regno_allocno_map; @@ -848,7 +848,7 @@ ira_copy_allocno_live_range_list (allocno_live_range_t r) /* Merge ranges R1 and R2 and returns the result. The function maintains the order of ranges and tries to minimize number of the result ranges. */ -allocno_live_range_t +allocno_live_range_t ira_merge_allocno_live_ranges (allocno_live_range_t r1, allocno_live_range_t r2) { @@ -1379,7 +1379,7 @@ ira_traverse_loop_tree (bool bb_p, ira_loop_tree_node_t loop_node, if (preorder_func != NULL) (*preorder_func) (loop_node); - + if (bb_p) for (subloop_node = loop_node->children; subloop_node != NULL; @@ -1388,11 +1388,11 @@ ira_traverse_loop_tree (bool bb_p, ira_loop_tree_node_t loop_node, { if (preorder_func != NULL) (*preorder_func) (subloop_node); - + if (postorder_func != NULL) (*postorder_func) (subloop_node); } - + for (subloop_node = loop_node->subloops; subloop_node != NULL; subloop_node = subloop_node->subloop_next) @@ -1434,7 +1434,7 @@ create_insn_allocnos (rtx x, bool output_p) if ((a = ira_curr_regno_allocno_map[regno]) == NULL) a = ira_create_allocno (regno, false, ira_curr_loop_tree_node); - + ALLOCNO_NREFS (a)++; ALLOCNO_FREQ (a) += REG_FREQ_FROM_BB (curr_bb); if (output_p) @@ -1458,7 +1458,7 @@ create_insn_allocnos (rtx x, bool output_p) create_insn_allocnos (XEXP (x, 0), false); return; } - else if (code == PRE_DEC || code == POST_DEC || code == PRE_INC || + else if (code == PRE_DEC || code == POST_DEC || code == PRE_INC || code == POST_INC || code == POST_MODIFY || code == PRE_MODIFY) { create_insn_allocnos (XEXP (x, 0), true); @@ -1491,7 +1491,7 @@ create_bb_allocnos (ira_loop_tree_node_t bb_node) curr_bb = bb = bb_node->bb; ira_assert (bb != NULL); FOR_BB_INSNS_REVERSE (bb, insn) - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) create_insn_allocnos (PATTERN (insn), false); /* It might be a allocno living through from one subloop to another. */ @@ -1549,7 +1549,7 @@ create_loop_tree_node_allocnos (ira_loop_tree_node_t loop_node) FOR_EACH_EDGE (e, ei, loop_node->loop->header->preds) if (e->src != loop_node->loop->latch) create_loop_allocnos (e); - + edges = get_loop_exit_edges (loop_node->loop); for (i = 0; VEC_iterate (edge, edges, i, e); i++) create_loop_allocnos (e); @@ -1663,10 +1663,10 @@ low_pressure_loop_node_p (ira_loop_tree_node_t node) { int i; enum reg_class cover_class; - + if (node->bb != NULL) return false; - + for (i = 0; i < ira_reg_class_cover_size; i++) { cover_class = ira_reg_class_cover[i]; @@ -1873,7 +1873,7 @@ ira_rebuild_regno_allocno_list (int regno) a = ALLOCNO_NEXT_REGNO_ALLOCNO (a)) regno_allocnos[n++] = a; ira_assert (n > 0); - qsort (regno_allocnos, n, sizeof (ira_allocno_t), + qsort (regno_allocnos, n, sizeof (ira_allocno_t), regno_allocno_order_compare_func); for (i = 1; i < n; i++) ALLOCNO_NEXT_REGNO_ALLOCNO (regno_allocnos[i - 1]) = regno_allocnos[i]; @@ -2302,7 +2302,7 @@ setup_min_max_conflict_allocno_ids (void) [first_not_finished])) first_not_finished++; min = first_not_finished; - } + } if (min == i) /* We could increase min further in this case but it is good enough. */ @@ -2512,7 +2512,7 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit) continue; } ira_assert (ALLOCNO_CAP_MEMBER (parent_a) == NULL); - + if (ALLOCNO_MEM_OPTIMIZED_DEST (a) != NULL) mem_dest_p = true; if (REGNO (ALLOCNO_REG (a)) == REGNO (ALLOCNO_REG (parent_a))) @@ -2623,7 +2623,7 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit) ira_add_allocno_conflict (a, live_a); } } - + for (r = ira_finish_point_ranges[i]; r != NULL; r = r->finish_next) sparseset_clear_bit (allocnos_live, ALLOCNO_NUM (r->allocno)); }