Commit 51935358 by Vladimir Makarov Committed by Vladimir Makarov

ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class for ira_reg_class_max_nregs.

2011-08-20  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class
	for ira_reg_class_max_nregs.  Increase pressure by 1.
	(mark_pseudo_regno_subword_dead): Use allocno class
	for ira_reg_class_max_nregs.

From-SVN: r177939
parent e6004147
2011-08-20 Vladimir Makarov <vmakarov@redhat.com>
* ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class
for ira_reg_class_max_nregs. Increase pressure by 1.
(mark_pseudo_regno_subword_dead): Use allocno class
for ira_reg_class_max_nregs.
2011-08-20 Richard Henderson <rth@redhat.com> 2011-08-20 Richard Henderson <rth@redhat.com>
* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c, * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
......
...@@ -285,7 +285,7 @@ static void ...@@ -285,7 +285,7 @@ static void
mark_pseudo_regno_subword_live (int regno, int subword) mark_pseudo_regno_subword_live (int regno, int subword)
{ {
ira_allocno_t a = ira_curr_regno_allocno_map[regno]; ira_allocno_t a = ira_curr_regno_allocno_map[regno];
int n, nregs; int n;
enum reg_class pclass; enum reg_class pclass;
ira_object_t obj; ira_object_t obj;
...@@ -303,14 +303,14 @@ mark_pseudo_regno_subword_live (int regno, int subword) ...@@ -303,14 +303,14 @@ mark_pseudo_regno_subword_live (int regno, int subword)
} }
pclass = ira_pressure_class_translate[ALLOCNO_CLASS (a)]; pclass = ira_pressure_class_translate[ALLOCNO_CLASS (a)];
nregs = ira_reg_class_max_nregs[pclass][ALLOCNO_MODE (a)]; gcc_assert
gcc_assert (nregs == n); (n == ira_reg_class_max_nregs[ALLOCNO_CLASS (a)][ALLOCNO_MODE (a)]);
obj = ALLOCNO_OBJECT (a, subword); obj = ALLOCNO_OBJECT (a, subword);
if (sparseset_bit_p (objects_live, OBJECT_CONFLICT_ID (obj))) if (sparseset_bit_p (objects_live, OBJECT_CONFLICT_ID (obj)))
return; return;
inc_register_pressure (pclass, nregs); inc_register_pressure (pclass, 1);
make_object_born (obj); make_object_born (obj);
} }
...@@ -414,7 +414,7 @@ static void ...@@ -414,7 +414,7 @@ static void
mark_pseudo_regno_subword_dead (int regno, int subword) mark_pseudo_regno_subword_dead (int regno, int subword)
{ {
ira_allocno_t a = ira_curr_regno_allocno_map[regno]; ira_allocno_t a = ira_curr_regno_allocno_map[regno];
int n, nregs; int n;
enum reg_class cl; enum reg_class cl;
ira_object_t obj; ira_object_t obj;
...@@ -430,8 +430,8 @@ mark_pseudo_regno_subword_dead (int regno, int subword) ...@@ -430,8 +430,8 @@ mark_pseudo_regno_subword_dead (int regno, int subword)
return; return;
cl = ira_pressure_class_translate[ALLOCNO_CLASS (a)]; cl = ira_pressure_class_translate[ALLOCNO_CLASS (a)];
nregs = ira_reg_class_max_nregs[cl][ALLOCNO_MODE (a)]; gcc_assert
gcc_assert (nregs == n); (n == ira_reg_class_max_nregs[ALLOCNO_CLASS (a)][ALLOCNO_MODE (a)]);
obj = ALLOCNO_OBJECT (a, subword); obj = ALLOCNO_OBJECT (a, subword);
if (!sparseset_bit_p (objects_live, OBJECT_CONFLICT_ID (obj))) if (!sparseset_bit_p (objects_live, OBJECT_CONFLICT_ID (obj)))
......
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