]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
stmt.c (expand_return): Clear destination instead of clobbering it when setting a...
authorAndrew MacLeod <amacleod@redhat.com>
Tue, 4 Dec 2001 17:37:23 +0000 (17:37 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Tue, 4 Dec 2001 17:37:23 +0000 (17:37 +0000)
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

gcc/ChangeLog
gcc/stmt.c

index 57228114d28fe6d723ef3a733a6cd756bee9970f..3f605a7ddcc70502fc096d4948f41d00ead47903 100644 (file)
@@ -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
index 2b176bb9e9a58b90d2d59b85a774481a51186fc5..db9174a92c7d4e9fec9913737da4b14a7f8017f0 100644 (file)
@@ -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