aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2001-12-04 17:37:23 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>2001-12-04 17:37:23 +0000
commit8a38ed868f46c143af3df2f08ef58205faf4919e (patch)
tree23e0c7825f6982d69c5791385aa1a9dd00aa0342 /gcc
parentbe1bb2a4da1988e257996be479d8cd62a91358fc (diff)
downloadgcc-8a38ed868f46c143af3df2f08ef58205faf4919e.zip
gcc-8a38ed868f46c143af3df2f08ef58205faf4919e.tar.gz
gcc-8a38ed868f46c143af3df2f08ef58205faf4919e.tar.bz2
stmt.c (expand_return): Clear destination instead of clobbering it when setting a return value via bitsets.
2001-12-04 Andrew MacLeod <amacleod@redhat.com> * stmt.c (expand_return): Clear destination instead of clobbering it when setting a return value via bitsets. From-SVN: r47616
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/stmt.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5722811..3f605a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-04 Andrew MacLeod <amacleod@redhat.com>
+
+ * stmt.c (expand_return): Clear destination instead of clobbering it
+ when setting a return value via bitsets.
+
2001-12-04 Alexandre Oliva <aoliva@redhat.com>
* tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 2b176bb..db9174a 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -3233,8 +3233,8 @@ expand_return (retval)
dst = gen_reg_rtx (word_mode);
result_pseudos[xbitpos / BITS_PER_WORD] = dst;
- /* Clobber the destination before we move anything into it. */
- emit_insn (gen_rtx_CLOBBER (VOIDmode, dst));
+ /* Clear the destination before we move anything into it. */
+ emit_move_insn (dst, CONST0_RTX (GET_MODE (dst)));
}
/* We need a new source operand each time bitpos is on a word