resource.c (mark_referenced_resources): Abort() before attempting to mark a pseudo register.
* resource.c (mark_referenced_resources): Abort() before attempting to mark a pseudo register. (mark_set_resources): Likewise. From-SVN: r38581
This commit is contained in:
parent
8b634749ab
commit
1d2215feb9
2 changed files with 30 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2000-12-31 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* resource.c (mark_referenced_resources): Abort() before
|
||||
attempting to mark a pseudo register.
|
||||
(mark_set_resources): Likewise.
|
||||
|
||||
2001-01-01 Michael Hayes <mhayes@redhat.com>
|
||||
|
||||
* loop.h (REG_IV_CLASS): New accessor macro.
|
||||
|
|
|
@ -212,14 +212,24 @@ mark_referenced_resources (x, res, include_delayed_effects)
|
|||
unsigned int last_regno
|
||||
= regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
|
||||
|
||||
if (last_regno > FIRST_PSEUDO_REGISTER)
|
||||
abort ();
|
||||
for (r = regno; r < last_regno; r++)
|
||||
SET_HARD_REG_BIT (res->regs, r);
|
||||
}
|
||||
return;
|
||||
|
||||
case REG:
|
||||
for (r = 0; r < HARD_REGNO_NREGS (REGNO (x), GET_MODE (x)); r++)
|
||||
SET_HARD_REG_BIT (res->regs, REGNO (x) + r);
|
||||
{
|
||||
unsigned int regno = REGNO (x);
|
||||
unsigned int last_regno
|
||||
= regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
|
||||
|
||||
if (last_regno > FIRST_PSEUDO_REGISTER)
|
||||
abort ();
|
||||
for (r = regno; r < last_regno; r++)
|
||||
SET_HARD_REG_BIT (res->regs, r);
|
||||
}
|
||||
return;
|
||||
|
||||
case MEM:
|
||||
|
@ -760,6 +770,8 @@ mark_set_resources (x, res, in_dest, mark_type)
|
|||
unsigned int last_regno
|
||||
= regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
|
||||
|
||||
if (last_regno > FIRST_PSEUDO_REGISTER)
|
||||
abort ();
|
||||
for (r = regno; r < last_regno; r++)
|
||||
SET_HARD_REG_BIT (res->regs, r);
|
||||
}
|
||||
|
@ -768,8 +780,16 @@ mark_set_resources (x, res, in_dest, mark_type)
|
|||
|
||||
case REG:
|
||||
if (in_dest)
|
||||
for (r = 0; r < HARD_REGNO_NREGS (REGNO (x), GET_MODE (x)); r++)
|
||||
SET_HARD_REG_BIT (res->regs, REGNO (x) + r);
|
||||
{
|
||||
unsigned int regno = REGNO (x);
|
||||
unsigned int last_regno
|
||||
= regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
|
||||
|
||||
if (last_regno > FIRST_PSEUDO_REGISTER)
|
||||
abort ();
|
||||
for (r = regno; r < last_regno; r++)
|
||||
SET_HARD_REG_BIT (res->regs, r);
|
||||
}
|
||||
return;
|
||||
|
||||
case STRICT_LOW_PART:
|
||||
|
|
Loading…
Add table
Reference in a new issue