* expr.c (emit_push_insn): Don't use set_mem_attributes.
authorRichard Henderson <rth@redhat.com>
Thu, 22 Jul 2004 18:13:47 +0000 (11:13 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 22 Jul 2004 18:13:47 +0000 (11:13 -0700)
From-SVN: r85054

gcc/ChangeLog
gcc/expr.c

index 3c7cc552fd217512fde083f89dc8f47c428ecbb1..53fdc1d9da8eedbc5ee6027af9116e71bf2709bd 100644 (file)
@@ -1,3 +1,7 @@
+2004-07-22  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_push_insn): Don't use set_mem_attributes.
+
 2004-07-22  Richard Henderson  <rth@redhat.com>
 
        * tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used
index 348d286c97eeecda0f5ba4f69adc0e0bdc675d6e..d8ab443e91384aa5c9dcc20996ddb3b18aeb11e9 100644 (file)
@@ -3250,16 +3250,11 @@ emit_push_insn (rtx x, enum machine_mode mode, tree type, rtx size,
 
          target = gen_rtx_MEM (BLKmode, temp);
 
-         if (type != 0)
-           {
-             set_mem_attributes (target, type, 1);
-             /* Function incoming arguments may overlap with sibling call
-                outgoing arguments and we cannot allow reordering of reads
-                from function arguments with stores to outgoing arguments
-                of sibling calls.  */
-             set_mem_alias_set (target, 0);
-           }
-
+         /* We do *not* set_mem_attributes here, because incoming arguments
+            may overlap with sibling call outgoing arguments and we cannot
+            allow reordering of reads from function arguments with stores
+            to outgoing arguments of sibling calls.  We do, however, want
+            to record the alignment of the stack slot.  */
          /* ALIGN may well be better aligned than TYPE, e.g. due to
             PARM_BOUNDARY.  Assume the caller isn't lying.  */
          set_mem_align (target, align);
@@ -3355,15 +3350,15 @@ emit_push_insn (rtx x, enum machine_mode mode, tree type, rtx size,
            addr = memory_address (mode, gen_rtx_PLUS (Pmode, args_addr,
                                                       args_so_far));
          dest = gen_rtx_MEM (mode, addr);
-         if (type != 0)
-           {
-             set_mem_attributes (dest, type, 1);
-             /* Function incoming arguments may overlap with sibling call
-                outgoing arguments and we cannot allow reordering of reads
-                from function arguments with stores to outgoing arguments
-                of sibling calls.  */
-             set_mem_alias_set (dest, 0);
-           }
+
+         /* We do *not* set_mem_attributes here, because incoming arguments
+            may overlap with sibling call outgoing arguments and we cannot
+            allow reordering of reads from function arguments with stores
+            to outgoing arguments of sibling calls.  We do, however, want
+            to record the alignment of the stack slot.  */
+         /* ALIGN may well be better aligned than TYPE, e.g. due to
+            PARM_BOUNDARY.  Assume the caller isn't lying.  */
+         set_mem_align (dest, align);
 
          emit_move_insn (dest, x);
        }