OSDN Git Service

2001-12-04 Andrew MacLeod <amacleod@redhat.com>
authoramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Dec 2001 17:37:23 +0000 (17:37 +0000)
committeramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Dec 2001 17:37:23 +0000 (17:37 +0000)
* stmt.c (expand_return): Clear destination instead of clobbering it
when setting a return value via bitsets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47616 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/stmt.c

index 5722811..3f605a7 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 2b176bb..db9174a 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