Fix v850 PlumHall testsuite failure.
* alias.c (record_set): Handle multi-reg hard registers. From-SVN: r60474
This commit is contained in:
parent
14b493d64d
commit
c28b4e4097
2 changed files with 21 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2002-12-24 Jim Wilson <wilson@redhat.com>
|
||||||
|
|
||||||
|
* alias.c (record_set): Handle multi-reg hard registers.
|
||||||
|
|
||||||
2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
|
2002-12-24 Kazu Hirata <kazu@cs.umass.edu>
|
||||||
|
|
||||||
* regmove.c: Fix comment typos.
|
* regmove.c: Fix comment typos.
|
||||||
|
|
17
gcc/alias.c
17
gcc/alias.c
|
@ -932,6 +932,7 @@ record_set (dest, set, data)
|
||||||
{
|
{
|
||||||
unsigned regno;
|
unsigned regno;
|
||||||
rtx src;
|
rtx src;
|
||||||
|
int n;
|
||||||
|
|
||||||
if (GET_CODE (dest) != REG)
|
if (GET_CODE (dest) != REG)
|
||||||
return;
|
return;
|
||||||
|
@ -941,6 +942,22 @@ record_set (dest, set, data)
|
||||||
if (regno >= reg_base_value_size)
|
if (regno >= reg_base_value_size)
|
||||||
abort ();
|
abort ();
|
||||||
|
|
||||||
|
/* If this spans multiple hard registers, then we must indicate that every
|
||||||
|
register has an unusable value. */
|
||||||
|
if (regno < FIRST_PSEUDO_REGISTER)
|
||||||
|
n = HARD_REGNO_NREGS (regno, GET_MODE (dest));
|
||||||
|
else
|
||||||
|
n = 1;
|
||||||
|
if (n != 1)
|
||||||
|
{
|
||||||
|
while (--n >= 0)
|
||||||
|
{
|
||||||
|
reg_seen[regno + n] = 1;
|
||||||
|
new_reg_base_value[regno + n] = 0;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (set)
|
if (set)
|
||||||
{
|
{
|
||||||
/* A CLOBBER wipes out any old value but does not prevent a previously
|
/* A CLOBBER wipes out any old value but does not prevent a previously
|
||||||
|
|
Loading…
Add table
Reference in a new issue