Commit fa86d337 by Bernd Schmidt Committed by Bernd Schmidt

ira-int.h (ira_object_conflict_iterator): Rename from ira_allocno_conflict_iterator.

	* ira-int.h (ira_object_conflict_iterator): Rename from
	ira_allocno_conflict_iterator.
	(ira_object_conflict_iter_init): Rename from
	ira_allocno_conflict_iter_init, second arg changed to
	* ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
	FOR_EACH_ALLOCNO_CONFLICT.
	* ira-color.c (assign_hard_reg, push_allocno_to_stack)
	setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
	ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
	* ira-conflicts.c (print_allocno_conflicts): Likewise.

From-SVN: r162168
parent 9140d27b
...@@ -126,6 +126,17 @@ ...@@ -126,6 +126,17 @@
remove_some_program_points_and_update_live_ranges, remove_some_program_points_and_update_live_ranges,
ira_debug_live_range_list): Likewise. ira_debug_live_range_list): Likewise.
* ira-int.h (ira_object_conflict_iterator): Rename from
ira_allocno_conflict_iterator.
(ira_object_conflict_iter_init): Rename from
ira_allocno_conflict_iter_init, second arg changed to
* ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
FOR_EACH_ALLOCNO_CONFLICT.
* ira-color.c (assign_hard_reg, push_allocno_to_stack)
setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
* ira-conflicts.c (print_allocno_conflicts): Likewise.
2010-07-13 Joern Rennecke <joern.rennecke@embecosm.com> 2010-07-13 Joern Rennecke <joern.rennecke@embecosm.com>
PR other/44874 PR other/44874
......
...@@ -449,8 +449,7 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p) ...@@ -449,8 +449,7 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p)
int *conflict_costs; int *conflict_costs;
enum reg_class cover_class, conflict_cover_class; enum reg_class cover_class, conflict_cover_class;
enum machine_mode mode; enum machine_mode mode;
ira_allocno_t a, conflict_allocno; ira_allocno_t a;
ira_allocno_conflict_iterator aci;
static int costs[FIRST_PSEUDO_REGISTER], full_costs[FIRST_PSEUDO_REGISTER]; static int costs[FIRST_PSEUDO_REGISTER], full_costs[FIRST_PSEUDO_REGISTER];
#ifndef HONOR_REG_ALLOC_ORDER #ifndef HONOR_REG_ALLOC_ORDER
enum reg_class rclass; enum reg_class rclass;
...@@ -480,6 +479,8 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p) ...@@ -480,6 +479,8 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p)
a = ALLOCNO_NEXT_COALESCED_ALLOCNO (a)) a = ALLOCNO_NEXT_COALESCED_ALLOCNO (a))
{ {
ira_object_t obj = ALLOCNO_OBJECT (a); ira_object_t obj = ALLOCNO_OBJECT (a);
ira_object_t conflict_obj;
ira_object_conflict_iterator oci;
mem_cost += ALLOCNO_UPDATED_MEMORY_COST (a); mem_cost += ALLOCNO_UPDATED_MEMORY_COST (a);
IOR_HARD_REG_SET (conflicting_regs, IOR_HARD_REG_SET (conflicting_regs,
...@@ -503,7 +504,10 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p) ...@@ -503,7 +504,10 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p)
full_costs[i] += cost; full_costs[i] += cost;
} }
/* Take preferences of conflicting allocnos into account. */ /* Take preferences of conflicting allocnos into account. */
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_allocno, aci) FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{
ira_allocno_t conflict_allocno = OBJECT_ALLOCNO (conflict_obj);
/* Reload can give another class so we need to check all /* Reload can give another class so we need to check all
allocnos. */ allocnos. */
if (retry_p || bitmap_bit_p (consideration_allocno_bitmap, if (retry_p || bitmap_bit_p (consideration_allocno_bitmap,
...@@ -557,6 +561,7 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p) ...@@ -557,6 +561,7 @@ assign_hard_reg (ira_allocno_t allocno, bool retry_p)
queue_update_cost (conflict_allocno, COST_HOP_DIVISOR); queue_update_cost (conflict_allocno, COST_HOP_DIVISOR);
} }
} }
}
if (a == allocno) if (a == allocno)
break; break;
} }
...@@ -872,9 +877,8 @@ static void ...@@ -872,9 +877,8 @@ static void
push_allocno_to_stack (ira_allocno_t allocno) push_allocno_to_stack (ira_allocno_t allocno)
{ {
int left_conflicts_size, conflict_size, size; int left_conflicts_size, conflict_size, size;
ira_allocno_t a, conflict_allocno; ira_allocno_t a;
enum reg_class cover_class; enum reg_class cover_class;
ira_allocno_conflict_iterator aci;
ALLOCNO_IN_GRAPH_P (allocno) = false; ALLOCNO_IN_GRAPH_P (allocno) = false;
VEC_safe_push (ira_allocno_t, heap, allocno_stack_vec, allocno); VEC_safe_push (ira_allocno_t, heap, allocno_stack_vec, allocno);
...@@ -887,8 +891,14 @@ push_allocno_to_stack (ira_allocno_t allocno) ...@@ -887,8 +891,14 @@ push_allocno_to_stack (ira_allocno_t allocno)
for (a = ALLOCNO_NEXT_COALESCED_ALLOCNO (allocno);; for (a = ALLOCNO_NEXT_COALESCED_ALLOCNO (allocno);;
a = ALLOCNO_NEXT_COALESCED_ALLOCNO (a)) a = ALLOCNO_NEXT_COALESCED_ALLOCNO (a))
{ {
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_allocno, aci) ira_object_t obj = ALLOCNO_OBJECT (a);
ira_object_t conflict_obj;
ira_object_conflict_iterator oci;
FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{ {
ira_allocno_t conflict_allocno = OBJECT_ALLOCNO (conflict_obj);
conflict_allocno = ALLOCNO_FIRST_COALESCED_ALLOCNO (conflict_allocno); conflict_allocno = ALLOCNO_FIRST_COALESCED_ALLOCNO (conflict_allocno);
if (bitmap_bit_p (coloring_allocno_bitmap, if (bitmap_bit_p (coloring_allocno_bitmap,
ALLOCNO_NUM (conflict_allocno))) ALLOCNO_NUM (conflict_allocno)))
...@@ -1405,10 +1415,9 @@ static void ...@@ -1405,10 +1415,9 @@ static void
setup_allocno_left_conflicts_size (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;
enum reg_class cover_class; enum reg_class cover_class;
HARD_REG_SET temp_set; HARD_REG_SET temp_set;
ira_allocno_conflict_iterator aci;
cover_class = ALLOCNO_COVER_CLASS (allocno); cover_class = ALLOCNO_COVER_CLASS (allocno);
hard_regs_num = ira_class_hard_regs_num[cover_class]; hard_regs_num = ira_class_hard_regs_num[cover_class];
...@@ -1444,8 +1453,14 @@ setup_allocno_left_conflicts_size (ira_allocno_t allocno) ...@@ -1444,8 +1453,14 @@ setup_allocno_left_conflicts_size (ira_allocno_t allocno)
for (a = ALLOCNO_NEXT_COALESCED_ALLOCNO (allocno);; for (a = ALLOCNO_NEXT_COALESCED_ALLOCNO (allocno);;
a = ALLOCNO_NEXT_COALESCED_ALLOCNO (a)) a = ALLOCNO_NEXT_COALESCED_ALLOCNO (a))
{ {
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_allocno, aci) ira_object_t obj = ALLOCNO_OBJECT (a);
ira_object_t conflict_obj;
ira_object_conflict_iterator oci;
FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{ {
ira_allocno_t conflict_allocno = OBJECT_ALLOCNO (conflict_obj);
conflict_allocno conflict_allocno
= ALLOCNO_FIRST_COALESCED_ALLOCNO (conflict_allocno); = ALLOCNO_FIRST_COALESCED_ALLOCNO (conflict_allocno);
if (bitmap_bit_p (consideration_allocno_bitmap, if (bitmap_bit_p (consideration_allocno_bitmap,
...@@ -1563,8 +1578,7 @@ static bool ...@@ -1563,8 +1578,7 @@ static bool
coalesced_allocno_conflict_p (ira_allocno_t a1, ira_allocno_t a2, coalesced_allocno_conflict_p (ira_allocno_t a1, ira_allocno_t a2,
bool reload_p) bool reload_p)
{ {
ira_allocno_t a, conflict_allocno; ira_allocno_t a;
ira_allocno_conflict_iterator aci;
if (allocno_coalesced_p) if (allocno_coalesced_p)
{ {
...@@ -1582,6 +1596,7 @@ coalesced_allocno_conflict_p (ira_allocno_t a1, ira_allocno_t a2, ...@@ -1582,6 +1596,7 @@ coalesced_allocno_conflict_p (ira_allocno_t a1, ira_allocno_t a2,
{ {
if (reload_p) if (reload_p)
{ {
ira_allocno_t conflict_allocno;
for (conflict_allocno = ALLOCNO_NEXT_COALESCED_ALLOCNO (a1);; for (conflict_allocno = ALLOCNO_NEXT_COALESCED_ALLOCNO (a1);;
conflict_allocno conflict_allocno
= ALLOCNO_NEXT_COALESCED_ALLOCNO (conflict_allocno)) = ALLOCNO_NEXT_COALESCED_ALLOCNO (conflict_allocno))
...@@ -1595,13 +1610,20 @@ coalesced_allocno_conflict_p (ira_allocno_t a1, ira_allocno_t a2, ...@@ -1595,13 +1610,20 @@ coalesced_allocno_conflict_p (ira_allocno_t a1, ira_allocno_t a2,
} }
else else
{ {
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_allocno, aci) ira_object_t obj = ALLOCNO_OBJECT (a);
ira_object_t conflict_obj;
ira_object_conflict_iterator oci;
FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{
ira_allocno_t conflict_allocno = OBJECT_ALLOCNO (conflict_obj);
if (conflict_allocno == a1 if (conflict_allocno == a1
|| (allocno_coalesced_p || (allocno_coalesced_p
&& bitmap_bit_p (processed_coalesced_allocno_bitmap, && bitmap_bit_p (processed_coalesced_allocno_bitmap,
ALLOCNO_NUM (conflict_allocno)))) ALLOCNO_NUM (conflict_allocno))))
return true; return true;
} }
}
if (a == a2) if (a == a2)
break; break;
} }
...@@ -2291,8 +2313,7 @@ void ...@@ -2291,8 +2313,7 @@ void
ira_reassign_conflict_allocnos (int start_regno) ira_reassign_conflict_allocnos (int start_regno)
{ {
int i, allocnos_to_color_num; int i, allocnos_to_color_num;
ira_allocno_t a, conflict_a; ira_allocno_t a;
ira_allocno_conflict_iterator aci;
enum reg_class cover_class; enum reg_class cover_class;
bitmap allocnos_to_color; bitmap allocnos_to_color;
ira_allocno_iterator ai; ira_allocno_iterator ai;
...@@ -2301,6 +2322,10 @@ ira_reassign_conflict_allocnos (int start_regno) ...@@ -2301,6 +2322,10 @@ ira_reassign_conflict_allocnos (int start_regno)
allocnos_to_color_num = 0; allocnos_to_color_num = 0;
FOR_EACH_ALLOCNO (a, ai) FOR_EACH_ALLOCNO (a, ai)
{ {
ira_object_t obj = ALLOCNO_OBJECT (a);
ira_object_t conflict_obj;
ira_object_conflict_iterator oci;
if (! ALLOCNO_ASSIGNED_P (a) if (! ALLOCNO_ASSIGNED_P (a)
&& ! bitmap_bit_p (allocnos_to_color, ALLOCNO_NUM (a))) && ! bitmap_bit_p (allocnos_to_color, ALLOCNO_NUM (a)))
{ {
...@@ -2318,8 +2343,9 @@ ira_reassign_conflict_allocnos (int start_regno) ...@@ -2318,8 +2343,9 @@ ira_reassign_conflict_allocnos (int start_regno)
if (ALLOCNO_REGNO (a) < start_regno if (ALLOCNO_REGNO (a) < start_regno
|| (cover_class = ALLOCNO_COVER_CLASS (a)) == NO_REGS) || (cover_class = ALLOCNO_COVER_CLASS (a)) == NO_REGS)
continue; continue;
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_a, aci) FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{ {
ira_allocno_t conflict_a = OBJECT_ALLOCNO (conflict_obj);
ira_assert (ira_reg_classes_intersect_p ira_assert (ira_reg_classes_intersect_p
[cover_class][ALLOCNO_COVER_CLASS (conflict_a)]); [cover_class][ALLOCNO_COVER_CLASS (conflict_a)]);
if (bitmap_bit_p (allocnos_to_color, ALLOCNO_NUM (conflict_a))) if (bitmap_bit_p (allocnos_to_color, ALLOCNO_NUM (conflict_a)))
...@@ -2877,9 +2903,8 @@ ira_reassign_pseudos (int *spilled_pseudo_regs, int num, ...@@ -2877,9 +2903,8 @@ ira_reassign_pseudos (int *spilled_pseudo_regs, int num,
{ {
int i, n, regno; int i, n, regno;
bool changed_p; bool changed_p;
ira_allocno_t a, conflict_a; ira_allocno_t a;
HARD_REG_SET forbidden_regs; HARD_REG_SET forbidden_regs;
ira_allocno_conflict_iterator aci;
bitmap temp = BITMAP_ALLOC (NULL); bitmap temp = BITMAP_ALLOC (NULL);
/* Add pseudos which conflict with pseudos already in /* Add pseudos which conflict with pseudos already in
...@@ -2891,11 +2916,16 @@ ira_reassign_pseudos (int *spilled_pseudo_regs, int num, ...@@ -2891,11 +2916,16 @@ ira_reassign_pseudos (int *spilled_pseudo_regs, int num,
for (i = 0, n = num; i < n; i++) for (i = 0, n = num; i < n; i++)
{ {
ira_object_t obj, conflict_obj;
ira_object_conflict_iterator oci;
int regno = spilled_pseudo_regs[i]; int regno = spilled_pseudo_regs[i];
bitmap_set_bit (temp, regno); bitmap_set_bit (temp, regno);
a = ira_regno_allocno_map[regno]; a = ira_regno_allocno_map[regno];
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_a, aci) obj = ALLOCNO_OBJECT (a);
FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{
ira_allocno_t conflict_a = OBJECT_ALLOCNO (conflict_obj);
if (ALLOCNO_HARD_REGNO (conflict_a) < 0 if (ALLOCNO_HARD_REGNO (conflict_a) < 0
&& ! ALLOCNO_DONT_REASSIGN_P (conflict_a) && ! ALLOCNO_DONT_REASSIGN_P (conflict_a)
&& ! bitmap_bit_p (temp, ALLOCNO_REGNO (conflict_a))) && ! bitmap_bit_p (temp, ALLOCNO_REGNO (conflict_a)))
...@@ -2907,6 +2937,7 @@ ira_reassign_pseudos (int *spilled_pseudo_regs, int num, ...@@ -2907,6 +2937,7 @@ ira_reassign_pseudos (int *spilled_pseudo_regs, int num,
ALLOCNO_NUM (conflict_a)); ALLOCNO_NUM (conflict_a));
} }
} }
}
if (num > 1) if (num > 1)
qsort (spilled_pseudo_regs, num, sizeof (int), pseudo_reg_compare); qsort (spilled_pseudo_regs, num, sizeof (int), pseudo_reg_compare);
......
...@@ -700,9 +700,8 @@ static void ...@@ -700,9 +700,8 @@ static void
print_allocno_conflicts (FILE * file, bool reg_p, ira_allocno_t a) print_allocno_conflicts (FILE * file, bool reg_p, ira_allocno_t a)
{ {
HARD_REG_SET conflicting_hard_regs; HARD_REG_SET conflicting_hard_regs;
ira_object_t obj; ira_object_t obj, conflict_obj;
ira_allocno_t conflict_a; ira_object_conflict_iterator oci;
ira_allocno_conflict_iterator aci;
basic_block bb; basic_block bb;
if (reg_p) if (reg_p)
...@@ -720,8 +719,9 @@ print_allocno_conflicts (FILE * file, bool reg_p, ira_allocno_t a) ...@@ -720,8 +719,9 @@ print_allocno_conflicts (FILE * file, bool reg_p, ira_allocno_t a)
fputs (" conflicts:", file); fputs (" conflicts:", file);
obj = ALLOCNO_OBJECT (a); obj = ALLOCNO_OBJECT (a);
if (OBJECT_CONFLICT_ARRAY (obj) != NULL) if (OBJECT_CONFLICT_ARRAY (obj) != NULL)
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_a, aci) FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{ {
ira_allocno_t conflict_a = OBJECT_ALLOCNO (conflict_obj);
if (reg_p) if (reg_p)
fprintf (file, " r%d,", ALLOCNO_REGNO (conflict_a)); fprintf (file, " r%d,", ALLOCNO_REGNO (conflict_a));
else else
......
...@@ -1159,14 +1159,13 @@ typedef struct { ...@@ -1159,14 +1159,13 @@ typedef struct {
/* The word of bit vector currently visited. It is defined only if /* The word of bit vector currently visited. It is defined only if
OBJECT_CONFLICT_VEC_P is FALSE. */ OBJECT_CONFLICT_VEC_P is FALSE. */
unsigned IRA_INT_TYPE word; unsigned IRA_INT_TYPE word;
} ira_allocno_conflict_iterator; } ira_object_conflict_iterator;
/* Initialize the iterator I with ALLOCNO conflicts. */ /* Initialize the iterator I with ALLOCNO conflicts. */
static inline void static inline void
ira_allocno_conflict_iter_init (ira_allocno_conflict_iterator *i, ira_object_conflict_iter_init (ira_object_conflict_iterator *i,
ira_allocno_t allocno) ira_object_t obj)
{ {
ira_object_t obj = ALLOCNO_OBJECT (allocno);
i->conflict_vec_p = OBJECT_CONFLICT_VEC_P (obj); i->conflict_vec_p = OBJECT_CONFLICT_VEC_P (obj);
i->vec = OBJECT_CONFLICT_ARRAY (obj); i->vec = OBJECT_CONFLICT_ARRAY (obj);
i->word_num = 0; i->word_num = 0;
...@@ -1190,8 +1189,8 @@ ira_allocno_conflict_iter_init (ira_allocno_conflict_iterator *i, ...@@ -1190,8 +1189,8 @@ ira_allocno_conflict_iter_init (ira_allocno_conflict_iterator *i,
case *A is set to the allocno to be visited. Otherwise, return case *A is set to the allocno to be visited. Otherwise, return
FALSE. */ FALSE. */
static inline bool static inline bool
ira_allocno_conflict_iter_cond (ira_allocno_conflict_iterator *i, ira_object_conflict_iter_cond (ira_object_conflict_iterator *i,
ira_allocno_t *a) ira_object_t *pobj)
{ {
ira_object_t obj; ira_object_t obj;
...@@ -1222,13 +1221,13 @@ ira_allocno_conflict_iter_cond (ira_allocno_conflict_iterator *i, ...@@ -1222,13 +1221,13 @@ ira_allocno_conflict_iter_cond (ira_allocno_conflict_iterator *i,
obj = ira_object_id_map[i->bit_num + i->base_conflict_id]; obj = ira_object_id_map[i->bit_num + i->base_conflict_id];
} }
*a = OBJECT_ALLOCNO (obj); *pobj = obj;
return true; return true;
} }
/* Advance to the next conflicting allocno. */ /* Advance to the next conflicting allocno. */
static inline void static inline void
ira_allocno_conflict_iter_next (ira_allocno_conflict_iterator *i) ira_object_conflict_iter_next (ira_object_conflict_iterator *i)
{ {
if (i->conflict_vec_p) if (i->conflict_vec_p)
i->word_num++; i->word_num++;
...@@ -1239,14 +1238,13 @@ ira_allocno_conflict_iter_next (ira_allocno_conflict_iterator *i) ...@@ -1239,14 +1238,13 @@ ira_allocno_conflict_iter_next (ira_allocno_conflict_iterator *i)
} }
} }
/* Loop over all allocnos conflicting with ALLOCNO. In each /* Loop over all objects conflicting with OBJ. In each iteration,
iteration, A is set to the next conflicting allocno. ITER is an CONF is set to the next conflicting object. ITER is an instance
instance of ira_allocno_conflict_iterator used to iterate the of ira_object_conflict_iterator used to iterate the conflicts. */
conflicts. */ #define FOR_EACH_OBJECT_CONFLICT(OBJ, CONF, ITER) \
#define FOR_EACH_ALLOCNO_CONFLICT(ALLOCNO, A, ITER) \ for (ira_object_conflict_iter_init (&(ITER), (OBJ)); \
for (ira_allocno_conflict_iter_init (&(ITER), (ALLOCNO)); \ ira_object_conflict_iter_cond (&(ITER), &(CONF)); \
ira_allocno_conflict_iter_cond (&(ITER), &(A)); \ ira_object_conflict_iter_next (&(ITER)))
ira_allocno_conflict_iter_next (&(ITER)))
......
...@@ -1609,21 +1609,27 @@ calculate_allocation_cost (void) ...@@ -1609,21 +1609,27 @@ calculate_allocation_cost (void)
static void static void
check_allocation (void) check_allocation (void)
{ {
ira_allocno_t a, conflict_a; ira_allocno_t a;
int hard_regno, conflict_hard_regno, nregs, conflict_nregs; int hard_regno, nregs;
ira_allocno_conflict_iterator aci;
ira_allocno_iterator ai; ira_allocno_iterator ai;
FOR_EACH_ALLOCNO (a, ai) FOR_EACH_ALLOCNO (a, ai)
{ {
ira_object_t obj, conflict_obj;
ira_object_conflict_iterator oci;
if (ALLOCNO_CAP_MEMBER (a) != NULL if (ALLOCNO_CAP_MEMBER (a) != NULL
|| (hard_regno = ALLOCNO_HARD_REGNO (a)) < 0) || (hard_regno = ALLOCNO_HARD_REGNO (a)) < 0)
continue; continue;
nregs = hard_regno_nregs[hard_regno][ALLOCNO_MODE (a)]; nregs = hard_regno_nregs[hard_regno][ALLOCNO_MODE (a)];
FOR_EACH_ALLOCNO_CONFLICT (a, conflict_a, aci) obj = ALLOCNO_OBJECT (a);
if ((conflict_hard_regno = ALLOCNO_HARD_REGNO (conflict_a)) >= 0) FOR_EACH_OBJECT_CONFLICT (obj, conflict_obj, oci)
{ {
conflict_nregs ira_allocno_t conflict_a = OBJECT_ALLOCNO (conflict_obj);
int conflict_hard_regno = ALLOCNO_HARD_REGNO (conflict_a);
if (conflict_hard_regno >= 0)
{
int conflict_nregs
= (hard_regno_nregs = (hard_regno_nregs
[conflict_hard_regno][ALLOCNO_MODE (conflict_a)]); [conflict_hard_regno][ALLOCNO_MODE (conflict_a)]);
if ((conflict_hard_regno <= hard_regno if ((conflict_hard_regno <= hard_regno
...@@ -1637,6 +1643,7 @@ check_allocation (void) ...@@ -1637,6 +1643,7 @@ check_allocation (void)
} }
} }
} }
}
} }
#endif #endif
......
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