mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 13:39:46 +08:00
regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P for hard regs to determine base and index...
* regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P for hard regs to determine base and index registers. From-SVN: r15954
This commit is contained in:
parent
b8fb2d721d
commit
f22376c716
@ -1,5 +1,8 @@
|
||||
Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
|
||||
|
||||
* regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
|
||||
for hard regs to determine base and index registers.
|
||||
|
||||
* reload.c (debug_reload_to_stream): New function. Specify stream
|
||||
into which to write debug info.
|
||||
(debug_reload): Modify to call debug_reload_to_stream with stderr.
|
||||
|
@ -1539,6 +1539,32 @@ record_address_regs (x, class, scale)
|
||||
else if (code1 == SYMBOL_REF || code1 == CONST || code1 == LABEL_REF)
|
||||
record_address_regs (arg0, INDEX_REG_CLASS, scale);
|
||||
|
||||
/* Look for the sum of two registers where the first is definitely
|
||||
a base register or the second is definitely an index register. */
|
||||
|
||||
else if (code0 == REG && code1 == REG
|
||||
&& ((REGNO (arg0) < FIRST_PSEUDO_REGISTER
|
||||
&& REG_OK_FOR_BASE_P (arg0))
|
||||
|| ((REGNO (arg1) < FIRST_PSEUDO_REGISTER
|
||||
&& REG_OK_FOR_INDEX_P (arg1)))))
|
||||
{
|
||||
record_address_regs (arg0, BASE_REG_CLASS, scale);
|
||||
record_address_regs (arg1, INDEX_REG_CLASS, scale);
|
||||
}
|
||||
|
||||
/* Look for the sum of two registers where the first is definitely
|
||||
an index register or the second is definitely a base register. */
|
||||
|
||||
else if (code0 == REG && code1 == REG
|
||||
&& ((REGNO (arg1) < FIRST_PSEUDO_REGISTER
|
||||
&& REG_OK_FOR_BASE_P (arg1))
|
||||
|| ((REGNO (arg0) < FIRST_PSEUDO_REGISTER
|
||||
&& REG_OK_FOR_INDEX_P (arg0)))))
|
||||
{
|
||||
record_address_regs (arg0, INDEX_REG_CLASS, scale);
|
||||
record_address_regs (arg1, BASE_REG_CLASS, scale);
|
||||
}
|
||||
|
||||
/* If this the sum of two registers where the first is known to be a
|
||||
pointer, it must be a base register with the second an index. */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user