*** empty log message ***
From-SVN: r38849
This commit is contained in:
parent
fa44a93614
commit
4971426b43
@ -1,3 +1,8 @@
|
||||
2001-01-09 Alan Lehotsky <lehotsky@tiac.net>
|
||||
|
||||
* reload.c (find_reloads_address): Check for eliminable registers
|
||||
when substituting a constant expression for a pseudo.
|
||||
|
||||
2001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* c-common.c (enum format_type): Add format_type_error.
|
||||
|
10
gcc/reload.c
10
gcc/reload.c
@ -4487,10 +4487,14 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
|
||||
{
|
||||
regno = REGNO (ad);
|
||||
|
||||
if (reg_equiv_constant[regno] != 0
|
||||
&& strict_memory_address_p (mode, reg_equiv_constant[regno]))
|
||||
/* If the register is equivalent to an invariant expression, substitute
|
||||
the invariant, and eliminate any eliminable register references. */
|
||||
tem = reg_equiv_constant[regno];
|
||||
if (tem != 0
|
||||
&& (tem = eliminate_regs (tem, mode, insn))
|
||||
&& strict_memory_address_p (mode, tem))
|
||||
{
|
||||
*loc = ad = reg_equiv_constant[regno];
|
||||
*loc = ad = tem;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user