(reload): When decrement max_groups of superclass, can
only do so if the group_size is smaller than the current group. From-SVN: r8539
This commit is contained in:
parent
e0bf6b33d8
commit
d601d5da25
@ -1653,7 +1653,11 @@ reload (first, global, dumpfile)
|
||||
max_groups[class]--;
|
||||
p = reg_class_superclasses[class];
|
||||
while (*p != LIM_REG_CLASSES)
|
||||
max_groups[(int) *p++]--;
|
||||
{
|
||||
if (group_size [(int) *p] <= group_size [class])
|
||||
max_groups[(int) *p]--;
|
||||
p++;
|
||||
}
|
||||
|
||||
/* Indicate both these regs are part of a group. */
|
||||
SET_HARD_REG_BIT (counted_for_groups, j);
|
||||
@ -1768,8 +1772,12 @@ reload (first, global, dumpfile)
|
||||
max_groups[class]--;
|
||||
p = reg_class_superclasses[class];
|
||||
while (*p != LIM_REG_CLASSES)
|
||||
max_groups[(int) *p++]--;
|
||||
|
||||
{
|
||||
if (group_size [(int) *p]
|
||||
<= group_size [class])
|
||||
max_groups[(int) *p]--;
|
||||
p++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2117,7 +2125,11 @@ count_possible_groups (group_size, group_mode, max_groups, class)
|
||||
max_groups[class]--;
|
||||
p = reg_class_superclasses[class];
|
||||
while (*p != LIM_REG_CLASSES)
|
||||
max_groups[(int) *p++]--;
|
||||
{
|
||||
if (group_size [(int) *p] <= group_size [class])
|
||||
max_groups[(int) *p]--;
|
||||
p++;
|
||||
}
|
||||
|
||||
/* Don't count these registers again. */
|
||||
for (j = 0; j < group_size[class]; j++)
|
||||
|
Loading…
Reference in New Issue
Block a user