cfganal.c (keep_with_call_p): Source for fixed_reg dest must be a general_operand.

* cfganal.c (keep_with_call_p): Source for fixed_reg dest must
        be a general_operand.  Dest for function value must be a pseudo.

From-SVN: r49547
This commit is contained in:
Richard Henderson 2002-02-06 10:16:02 -08:00 committed by Richard Henderson
parent 99a4deb8a9
commit 7fb750990c
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2002-02-06 Richard Henderson <rth@redhat.com>
* cfganal.c (keep_with_call_p): Source for fixed_reg dest must
be a general_operand. Dest for function value must be a pseudo.
2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
* dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well

View File

@ -224,10 +224,13 @@ keep_with_call_p (insn)
if (INSN_P (insn) && (set = single_set (insn)) != NULL)
{
if (GET_CODE (SET_DEST (set)) == REG
&& fixed_regs[REGNO (SET_DEST (set))])
&& fixed_regs[REGNO (SET_DEST (set))]
&& general_operand (SET_SRC (set)))
return true;
if (GET_CODE (SET_SRC (set)) == REG
&& FUNCTION_VALUE_REGNO_P (REGNO (SET_SRC (set))))
&& FUNCTION_VALUE_REGNO_P (REGNO (SET_SRC (set)))
&& GET_CODE (SET_DEST (set)) == REG
&& REGNO (SET_DEST (set)) >= FIRST_PSEUDO_REGISTER)
return true;
}
return false;