aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Stott <grahams@redhat.com>2001-09-25 11:39:35 +0000
committerGraham Stott <grahams@gcc.gnu.org>2001-09-25 11:39:35 +0000
commit87f8b15fd840240e97460b513c180a6a15a4b083 (patch)
treeb4c69d0f96f2ba6475efd8c1ed7db01bb1acd826
parentaca0f84e0029e143a8c791d039805de2c4462a8d (diff)
downloadgcc-87f8b15fd840240e97460b513c180a6a15a4b083.zip
gcc-87f8b15fd840240e97460b513c180a6a15a4b083.tar.gz
gcc-87f8b15fd840240e97460b513c180a6a15a4b083.tar.bz2
sibcall.c (skip_copy_to_return_value): Tighten return value copy check.
* sibcall.c (skip_copy_to_return_value): Tighten return value copy check. From-SVN: r45803
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sibcall.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c37c714..870d923 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 f0ffa52..3b9526c 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;
}