alias.c (find_base_value): When copying arguments, return the tenative value for a hard register.
* alias.c (find_base_value): When copying arguments, return the tenative value for a hard register. From-SVN: r16319
This commit is contained in:
parent
30c317f5da
commit
73774bc7c0
|
@ -1,3 +1,8 @@
|
|||
Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* alias.c (find_base_value): When copying arguments, return the
|
||||
tenative value for a hard register.
|
||||
|
||||
Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
|
||||
|
||||
* c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
|
||||
|
|
11
gcc/alias.c
11
gcc/alias.c
|
@ -95,16 +95,19 @@ find_base_value (src)
|
|||
return src;
|
||||
|
||||
case REG:
|
||||
/* If this REG is related to a known base value, return it. */
|
||||
if (reg_base_value[REGNO (src)])
|
||||
return reg_base_value[REGNO (src)];
|
||||
|
||||
/* At the start of a function argument registers have known base
|
||||
values which may be lost later. Returning an ADDRESS
|
||||
expression here allows optimization based on argument values
|
||||
even when the argument registers are used for other purposes. */
|
||||
if (REGNO (src) < FIRST_PSEUDO_REGISTER && copying_arguments)
|
||||
return new_reg_base_value[REGNO (src)];
|
||||
|
||||
/* If this REG is related to a known base value, return it.
|
||||
This must happen after the arg register check above to avoid
|
||||
circular set chains. */
|
||||
if (reg_base_value[REGNO (src)])
|
||||
return reg_base_value[REGNO (src)];
|
||||
|
||||
return src;
|
||||
|
||||
case MEM:
|
||||
|
|
Loading…
Reference in New Issue