From 2bb16349067f9dd8feea38c3e1d689042bcbebd7 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 22 Jul 2004 11:13:47 -0700 Subject: * expr.c (emit_push_insn): Don't use set_mem_attributes. From-SVN: r85054 --- gcc/ChangeLog | 4 ++++ gcc/expr.c | 33 ++++++++++++++------------------- 2 files changed, 18 insertions(+), 19 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c7cc55..53fdc1d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2004-07-22 Richard Henderson + * expr.c (emit_push_insn): Don't use set_mem_attributes. + +2004-07-22 Richard Henderson + * tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used variables due to conditional compilation. diff --git a/gcc/expr.c b/gcc/expr.c index 348d286..d8ab443 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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); } -- cgit v1.1