Commit eaf407a5 by Jeffrey A Law Committed by Jeff Law

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
parent 4f9ca067
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> Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
* i386.c (load_pic_register): Call prologue_get_pc_and_set_got. * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
......
...@@ -102,10 +102,14 @@ find_base_value (src) ...@@ -102,10 +102,14 @@ find_base_value (src)
if (REGNO (src) < FIRST_PSEUDO_REGISTER && copying_arguments) if (REGNO (src) < FIRST_PSEUDO_REGISTER && copying_arguments)
return new_reg_base_value[REGNO (src)]; return new_reg_base_value[REGNO (src)];
/* If this REG is related to a known base value, return it. /* If a pseudo has a known base value, return it. Do not do this
This must happen after the arg register check above to avoid for hard regs since it can result in a circular dependency
circular set chains. */ chain for registers which have values at function entry.
if (reg_base_value[REGNO (src)])
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 reg_base_value[REGNO (src)];
return src; return src;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment