Commit 5b0c0b2c by Vladimir Makarov Committed by Vladimir Makarov

ira-int.h (ira_allocno): Rename left_conflicts_num to left_conflicts_size.

2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-int.h (ira_allocno): Rename left_conflicts_num to
	left_conflicts_size.
	(ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
	ALLOCNO_LEFT_CONFLICTS_SIZE.

	* ira-color.c (allocno_spill_priority, push_allocno_to_stack,
	remove_allocno_from_bucket_and_push,
	allocno_spill_priority_compare, push_allocnos_to_stack,
	setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
	instead of ALLOCNO_LEFT_CONFLICTS_NUM.
	(setup_allocno_left_conflicts_num): Ditto.  Rename to
	setup_allocno_left_conflicts_size.
	(put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
	instead of ALLOCNO_LEFT_CONFLICTS_NUM and
	setup_allocno_left_conflicts_size instead of
	setup_allocno_left_conflicts_num.

	* ira-build.c (ira_create_allocno): Use
	ALLOCNO_LEFT_CONFLICTS_SIZE instead of
	ALLOCNO_LEFT_CONFLICTS_NUM.

From-SVN: r145312
parent 9a48a93f
2009-03-30 Vladimir Makarov <vmakarov@redhat.com> 2009-03-30 Vladimir Makarov <vmakarov@redhat.com>
* ira-int.h (ira_allocno): Rename left_conflicts_num to
left_conflicts_size.
(ALLOCNO_LEFT_CONFLICTS_NUM): Rename to
ALLOCNO_LEFT_CONFLICTS_SIZE.
* ira-color.c (allocno_spill_priority, push_allocno_to_stack,
remove_allocno_from_bucket_and_push,
allocno_spill_priority_compare, push_allocnos_to_stack,
setup_allocno_available_regs_num): Use ALLOCNO_LEFT_CONFLICTS_SIZE
instead of ALLOCNO_LEFT_CONFLICTS_NUM.
(setup_allocno_left_conflicts_num): Ditto. Rename to
setup_allocno_left_conflicts_size.
(put_allocno_into_bucket): Use ALLOCNO_LEFT_CONFLICTS_SIZE
instead of ALLOCNO_LEFT_CONFLICTS_NUM and
setup_allocno_left_conflicts_size instead of
setup_allocno_left_conflicts_num.
* ira-build.c (ira_create_allocno): Use
ALLOCNO_LEFT_CONFLICTS_SIZE instead of
ALLOCNO_LEFT_CONFLICTS_NUM.
2009-03-30 Vladimir Makarov <vmakarov@redhat.com>
* reload.c (push_reload, find_dummy_reload): Use df_get_live_out * reload.c (push_reload, find_dummy_reload): Use df_get_live_out
instead of DF_LR_OUT. instead of DF_LR_OUT.
......
...@@ -468,7 +468,7 @@ ira_create_allocno (int regno, bool cap_p, ira_loop_tree_node_t loop_tree_node) ...@@ -468,7 +468,7 @@ ira_create_allocno (int regno, bool cap_p, ira_loop_tree_node_t loop_tree_node)
ALLOCNO_CONFLICT_HARD_REG_COSTS (a) = NULL; ALLOCNO_CONFLICT_HARD_REG_COSTS (a) = NULL;
ALLOCNO_UPDATED_HARD_REG_COSTS (a) = NULL; ALLOCNO_UPDATED_HARD_REG_COSTS (a) = NULL;
ALLOCNO_UPDATED_CONFLICT_HARD_REG_COSTS (a) = NULL; ALLOCNO_UPDATED_CONFLICT_HARD_REG_COSTS (a) = NULL;
ALLOCNO_LEFT_CONFLICTS_NUM (a) = -1; ALLOCNO_LEFT_CONFLICTS_SIZE (a) = -1;
ALLOCNO_COVER_CLASS (a) = NO_REGS; ALLOCNO_COVER_CLASS (a) = NO_REGS;
ALLOCNO_UPDATED_COVER_CLASS_COST (a) = 0; ALLOCNO_UPDATED_COVER_CLASS_COST (a) = 0;
ALLOCNO_COVER_CLASS_COST (a) = 0; ALLOCNO_COVER_CLASS_COST (a) = 0;
......
...@@ -683,7 +683,7 @@ static int ...@@ -683,7 +683,7 @@ static int
allocno_spill_priority (ira_allocno_t a) allocno_spill_priority (ira_allocno_t a)
{ {
return (ALLOCNO_TEMP (a) return (ALLOCNO_TEMP (a)
/ (ALLOCNO_LEFT_CONFLICTS_NUM (a) / (ALLOCNO_LEFT_CONFLICTS_SIZE (a)
* ira_reg_class_nregs[ALLOCNO_COVER_CLASS (a)][ALLOCNO_MODE (a)] * ira_reg_class_nregs[ALLOCNO_COVER_CLASS (a)][ALLOCNO_MODE (a)]
+ 1)); + 1));
} }
...@@ -861,7 +861,7 @@ static splay_tree uncolorable_allocnos_splay_tree[N_REG_CLASSES]; ...@@ -861,7 +861,7 @@ static splay_tree uncolorable_allocnos_splay_tree[N_REG_CLASSES];
static void static void
push_allocno_to_stack (ira_allocno_t allocno) push_allocno_to_stack (ira_allocno_t allocno)
{ {
int conflicts_num, conflict_size, size; int left_conflicts_size, conflict_size, size;
ira_allocno_t a, conflict_allocno; ira_allocno_t a, conflict_allocno;
enum reg_class cover_class; enum reg_class cover_class;
ira_allocno_conflict_iterator aci; ira_allocno_conflict_iterator aci;
...@@ -896,20 +896,21 @@ push_allocno_to_stack (ira_allocno_t allocno) ...@@ -896,20 +896,21 @@ push_allocno_to_stack (ira_allocno_t allocno)
if (ALLOCNO_IN_GRAPH_P (conflict_allocno) if (ALLOCNO_IN_GRAPH_P (conflict_allocno)
&& ! ALLOCNO_ASSIGNED_P (conflict_allocno)) && ! ALLOCNO_ASSIGNED_P (conflict_allocno))
{ {
conflicts_num = ALLOCNO_LEFT_CONFLICTS_NUM (conflict_allocno); left_conflicts_size
= ALLOCNO_LEFT_CONFLICTS_SIZE (conflict_allocno);
conflict_size conflict_size
= (ira_reg_class_nregs = (ira_reg_class_nregs
[cover_class][ALLOCNO_MODE (conflict_allocno)]); [cover_class][ALLOCNO_MODE (conflict_allocno)]);
ira_assert ira_assert
(ALLOCNO_LEFT_CONFLICTS_NUM (conflict_allocno) >= size); (ALLOCNO_LEFT_CONFLICTS_SIZE (conflict_allocno) >= size);
if (conflicts_num + conflict_size if (left_conflicts_size + conflict_size
<= ALLOCNO_AVAILABLE_REGS_NUM (conflict_allocno)) <= ALLOCNO_AVAILABLE_REGS_NUM (conflict_allocno))
{ {
ALLOCNO_LEFT_CONFLICTS_NUM (conflict_allocno) -= size; ALLOCNO_LEFT_CONFLICTS_SIZE (conflict_allocno) -= size;
continue; continue;
} }
conflicts_num left_conflicts_size
= ALLOCNO_LEFT_CONFLICTS_NUM (conflict_allocno) - size; = ALLOCNO_LEFT_CONFLICTS_SIZE (conflict_allocno) - size;
if (uncolorable_allocnos_splay_tree[cover_class] != NULL if (uncolorable_allocnos_splay_tree[cover_class] != NULL
&& !ALLOCNO_SPLAY_REMOVED_P (conflict_allocno) && !ALLOCNO_SPLAY_REMOVED_P (conflict_allocno)
&& USE_SPLAY_P (cover_class)) && USE_SPLAY_P (cover_class))
...@@ -926,8 +927,9 @@ push_allocno_to_stack (ira_allocno_t allocno) ...@@ -926,8 +927,9 @@ push_allocno_to_stack (ira_allocno_t allocno)
removed_splay_allocno_vec, removed_splay_allocno_vec,
conflict_allocno); conflict_allocno);
} }
ALLOCNO_LEFT_CONFLICTS_NUM (conflict_allocno) = conflicts_num; ALLOCNO_LEFT_CONFLICTS_SIZE (conflict_allocno)
if (conflicts_num + conflict_size = left_conflicts_size;
if (left_conflicts_size + conflict_size
<= ALLOCNO_AVAILABLE_REGS_NUM (conflict_allocno)) <= ALLOCNO_AVAILABLE_REGS_NUM (conflict_allocno))
{ {
delete_allocno_from_bucket delete_allocno_from_bucket
...@@ -967,11 +969,11 @@ remove_allocno_from_bucket_and_push (ira_allocno_t allocno, bool colorable_p) ...@@ -967,11 +969,11 @@ remove_allocno_from_bucket_and_push (ira_allocno_t allocno, bool colorable_p)
} }
cover_class = ALLOCNO_COVER_CLASS (allocno); cover_class = ALLOCNO_COVER_CLASS (allocno);
ira_assert ((colorable_p ira_assert ((colorable_p
&& (ALLOCNO_LEFT_CONFLICTS_NUM (allocno) && (ALLOCNO_LEFT_CONFLICTS_SIZE (allocno)
+ ira_reg_class_nregs[cover_class][ALLOCNO_MODE (allocno)] + ira_reg_class_nregs[cover_class][ALLOCNO_MODE (allocno)]
<= ALLOCNO_AVAILABLE_REGS_NUM (allocno))) <= ALLOCNO_AVAILABLE_REGS_NUM (allocno)))
|| (! colorable_p || (! colorable_p
&& (ALLOCNO_LEFT_CONFLICTS_NUM (allocno) && (ALLOCNO_LEFT_CONFLICTS_SIZE (allocno)
+ ira_reg_class_nregs[cover_class][ALLOCNO_MODE + ira_reg_class_nregs[cover_class][ALLOCNO_MODE
(allocno)] (allocno)]
> ALLOCNO_AVAILABLE_REGS_NUM (allocno)))); > ALLOCNO_AVAILABLE_REGS_NUM (allocno))));
...@@ -1084,11 +1086,11 @@ allocno_spill_priority_compare (splay_tree_key k1, splay_tree_key k2) ...@@ -1084,11 +1086,11 @@ allocno_spill_priority_compare (splay_tree_key k1, splay_tree_key k2)
ira_allocno_t a1 = (ira_allocno_t) k1, a2 = (ira_allocno_t) k2; ira_allocno_t a1 = (ira_allocno_t) k1, a2 = (ira_allocno_t) k2;
pri1 = (ALLOCNO_TEMP (a1) pri1 = (ALLOCNO_TEMP (a1)
/ (ALLOCNO_LEFT_CONFLICTS_NUM (a1) / (ALLOCNO_LEFT_CONFLICTS_SIZE (a1)
* ira_reg_class_nregs[ALLOCNO_COVER_CLASS (a1)][ALLOCNO_MODE (a1)] * ira_reg_class_nregs[ALLOCNO_COVER_CLASS (a1)][ALLOCNO_MODE (a1)]
+ 1)); + 1));
pri2 = (ALLOCNO_TEMP (a2) pri2 = (ALLOCNO_TEMP (a2)
/ (ALLOCNO_LEFT_CONFLICTS_NUM (a2) / (ALLOCNO_LEFT_CONFLICTS_SIZE (a2)
* ira_reg_class_nregs[ALLOCNO_COVER_CLASS (a2)][ALLOCNO_MODE (a2)] * ira_reg_class_nregs[ALLOCNO_COVER_CLASS (a2)][ALLOCNO_MODE (a2)]
+ 1)); + 1));
if ((diff = pri1 - pri2) != 0) if ((diff = pri1 - pri2) != 0)
...@@ -1225,7 +1227,7 @@ push_allocnos_to_stack (void) ...@@ -1225,7 +1227,7 @@ push_allocnos_to_stack (void)
allocno = VEC_pop (ira_allocno_t, removed_splay_allocno_vec); allocno = VEC_pop (ira_allocno_t, removed_splay_allocno_vec);
ALLOCNO_SPLAY_REMOVED_P (allocno) = false; ALLOCNO_SPLAY_REMOVED_P (allocno) = false;
rclass = ALLOCNO_COVER_CLASS (allocno); rclass = ALLOCNO_COVER_CLASS (allocno);
if (ALLOCNO_LEFT_CONFLICTS_NUM (allocno) if (ALLOCNO_LEFT_CONFLICTS_SIZE (allocno)
+ ira_reg_class_nregs [rclass][ALLOCNO_MODE (allocno)] + ira_reg_class_nregs [rclass][ALLOCNO_MODE (allocno)]
> ALLOCNO_AVAILABLE_REGS_NUM (allocno)) > ALLOCNO_AVAILABLE_REGS_NUM (allocno))
splay_tree_insert splay_tree_insert
...@@ -1288,7 +1290,7 @@ push_allocnos_to_stack (void) ...@@ -1288,7 +1290,7 @@ push_allocnos_to_stack (void)
} }
ira_assert (ALLOCNO_IN_GRAPH_P (allocno) ira_assert (ALLOCNO_IN_GRAPH_P (allocno)
&& ALLOCNO_COVER_CLASS (allocno) == cover_class && ALLOCNO_COVER_CLASS (allocno) == cover_class
&& (ALLOCNO_LEFT_CONFLICTS_NUM (allocno) && (ALLOCNO_LEFT_CONFLICTS_SIZE (allocno)
+ ira_reg_class_nregs[cover_class][ALLOCNO_MODE + ira_reg_class_nregs[cover_class][ALLOCNO_MODE
(allocno)] (allocno)]
> ALLOCNO_AVAILABLE_REGS_NUM (allocno))); > ALLOCNO_AVAILABLE_REGS_NUM (allocno)));
...@@ -1380,9 +1382,9 @@ setup_allocno_available_regs_num (ira_allocno_t allocno) ...@@ -1380,9 +1382,9 @@ setup_allocno_available_regs_num (ira_allocno_t allocno)
ALLOCNO_AVAILABLE_REGS_NUM (allocno) -= n; ALLOCNO_AVAILABLE_REGS_NUM (allocno) -= n;
} }
/* Set up ALLOCNO_LEFT_CONFLICTS_NUM for ALLOCNO. */ /* Set up ALLOCNO_LEFT_CONFLICTS_SIZE for ALLOCNO. */
static void static void
setup_allocno_left_conflicts_num (ira_allocno_t allocno) setup_allocno_left_conflicts_size (ira_allocno_t allocno)
{ {
int i, hard_regs_num, hard_regno, conflict_allocnos_size; int i, hard_regs_num, hard_regno, conflict_allocnos_size;
ira_allocno_t a, conflict_allocno; ira_allocno_t a, conflict_allocno;
...@@ -1466,7 +1468,7 @@ setup_allocno_left_conflicts_num (ira_allocno_t allocno) ...@@ -1466,7 +1468,7 @@ setup_allocno_left_conflicts_num (ira_allocno_t allocno)
if (a == allocno) if (a == allocno)
break; break;
} }
ALLOCNO_LEFT_CONFLICTS_NUM (allocno) = conflict_allocnos_size; ALLOCNO_LEFT_CONFLICTS_SIZE (allocno) = conflict_allocnos_size;
} }
/* Put ALLOCNO in a bucket corresponding to its number and size of its /* Put ALLOCNO in a bucket corresponding to its number and size of its
...@@ -1482,9 +1484,9 @@ put_allocno_into_bucket (ira_allocno_t allocno) ...@@ -1482,9 +1484,9 @@ put_allocno_into_bucket (ira_allocno_t allocno)
if (ALLOCNO_FIRST_COALESCED_ALLOCNO (allocno) != allocno) if (ALLOCNO_FIRST_COALESCED_ALLOCNO (allocno) != allocno)
return; return;
ALLOCNO_IN_GRAPH_P (allocno) = true; ALLOCNO_IN_GRAPH_P (allocno) = true;
setup_allocno_left_conflicts_num (allocno); setup_allocno_left_conflicts_size (allocno);
setup_allocno_available_regs_num (allocno); setup_allocno_available_regs_num (allocno);
if (ALLOCNO_LEFT_CONFLICTS_NUM (allocno) if (ALLOCNO_LEFT_CONFLICTS_SIZE (allocno)
+ ira_reg_class_nregs[cover_class][ALLOCNO_MODE (allocno)] + ira_reg_class_nregs[cover_class][ALLOCNO_MODE (allocno)]
<= ALLOCNO_AVAILABLE_REGS_NUM (allocno)) <= ALLOCNO_AVAILABLE_REGS_NUM (allocno))
add_allocno_to_bucket (allocno, &colorable_allocno_bucket); add_allocno_to_bucket (allocno, &colorable_allocno_bucket);
......
...@@ -405,10 +405,10 @@ struct ira_allocno ...@@ -405,10 +405,10 @@ struct ira_allocno
preferences of other allocnos not assigned yet during assigning preferences of other allocnos not assigned yet during assigning
to given allocno. */ to given allocno. */
int *conflict_hard_reg_costs, *updated_conflict_hard_reg_costs; int *conflict_hard_reg_costs, *updated_conflict_hard_reg_costs;
/* Number of the same cover class allocnos with TRUE in_graph_p /* Size (in hard registers) of the same cover class allocnos with
value and conflicting with given allocno during each point of TRUE in_graph_p value and conflicting with given allocno during
graph coloring. */ each point of graph coloring. */
int left_conflicts_num; int left_conflicts_size;
/* Number of hard registers of the allocno cover class really /* Number of hard registers of the allocno cover class really
available for the allocno allocation. */ available for the allocno allocation. */
int available_regs_num; int available_regs_num;
...@@ -464,7 +464,7 @@ struct ira_allocno ...@@ -464,7 +464,7 @@ struct ira_allocno
((A)->conflict_hard_reg_costs) ((A)->conflict_hard_reg_costs)
#define ALLOCNO_UPDATED_CONFLICT_HARD_REG_COSTS(A) \ #define ALLOCNO_UPDATED_CONFLICT_HARD_REG_COSTS(A) \
((A)->updated_conflict_hard_reg_costs) ((A)->updated_conflict_hard_reg_costs)
#define ALLOCNO_LEFT_CONFLICTS_NUM(A) ((A)->left_conflicts_num) #define ALLOCNO_LEFT_CONFLICTS_SIZE(A) ((A)->left_conflicts_size)
#define ALLOCNO_COVER_CLASS(A) ((A)->cover_class) #define ALLOCNO_COVER_CLASS(A) ((A)->cover_class)
#define ALLOCNO_COVER_CLASS_COST(A) ((A)->cover_class_cost) #define ALLOCNO_COVER_CLASS_COST(A) ((A)->cover_class_cost)
#define ALLOCNO_UPDATED_COVER_CLASS_COST(A) ((A)->updated_cover_class_cost) #define ALLOCNO_UPDATED_COVER_CLASS_COST(A) ((A)->updated_cover_class_cost)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment