alias.c (find_base_value): Only return the known base value for pseudo registers.
* alias.c (find_base_value): Only return the known base value for pseudo registers. From-SVN: r16345
This commit is contained in:
parent
4f9ca067a1
commit
eaf407a54e
|
@ -1,3 +1,8 @@
|
|||
Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* alias.c (find_base_value): Only return the known base value for
|
||||
pseudo registers.
|
||||
|
||||
Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
|
||||
|
|
12
gcc/alias.c
12
gcc/alias.c
|
@ -102,10 +102,14 @@ find_base_value (src)
|
|||
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)])
|
||||
/* If a pseudo has a known base value, return it. Do not do this
|
||||
for hard regs since it can result in a circular dependency
|
||||
chain for registers which have values at function entry.
|
||||
|
||||
The test above is not sufficient because the scheduler may move
|
||||
a copy out of an arg reg past the NOTE_INSN_FUNCTION_BEGIN. */
|
||||
if (REGNO (src) >= FIRST_PSEUDO_REGISTER
|
||||
&& reg_base_value[REGNO (src)])
|
||||
return reg_base_value[REGNO (src)];
|
||||
|
||||
return src;
|
||||
|
|
Loading…
Reference in New Issue