diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/sibcall.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c37c714891e..870d923a05a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-09-25 Graham Stott <grahams@redhat.com> + + * sibcall.c (skip_copy_to_return_value): Tighten return value + copy check. + 2001-09-24 David Edelsohn <edelsohn@gnu.org> * rs6000.c (lwa_operand): Address must be word aligned. diff --git a/gcc/sibcall.c b/gcc/sibcall.c index f0ffa5280e6..3b9526c13df 100644 --- a/gcc/sibcall.c +++ b/gcc/sibcall.c @@ -159,8 +159,9 @@ skip_copy_to_return_value (orig_insn) if (return_value_pseudo) { - if (SET_DEST (set) == return_value_pseudo) - return insn; + if (SET_DEST (set) == return_value_pseudo + && SET_SRC (set) == softret) + return insn; return orig_insn; } |