sibcall.c (skip_copy_to_return_value): Tighten return value copy check.
authorGraham Stott <grahams@redhat.com>
Tue, 25 Sep 2001 11:39:35 +0000 (11:39 +0000)
committerGraham Stott <grahams@gcc.gnu.org>
Tue, 25 Sep 2001 11:39:35 +0000 (11:39 +0000)
        * sibcall.c (skip_copy_to_return_value): Tighten return value
        copy check.

From-SVN: r45803

gcc/ChangeLog
gcc/sibcall.c

index c37c714891efc1e9139eee4594f427a62f6540b8..870d923a05a57b6c79a73d644eaecf445ab039e3 100644 (file)
@@ -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.
index f0ffa5280e6d2b4e7af699062374233384f9b47b..3b9526c13df8028fec8b3fba150fd91ec6cfb8a6 100644 (file)
@@ -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;
     }