aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-07-11 20:35:55 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-07-11 16:35:55 -0400
commitba4828e00559dfebd57b51b78696ce777a8da279 (patch)
treeea2ecbe0d6bd9cbb548d5205145a8127268d347b /gcc/config/rs6000/rs6000.c
parent46fac66482f1cf5cc61f7fef9de8b7593c8357e7 (diff)
downloadgcc-ba4828e00559dfebd57b51b78696ce777a8da279.zip
gcc-ba4828e00559dfebd57b51b78696ce777a8da279.tar.gz
gcc-ba4828e00559dfebd57b51b78696ce777a8da279.tar.bz2
alias.c (set_mem_alias_set): New function.
* alias.c (set_mem_alias_set): New function. * rtl.h (set_mem_alias_set): Declare it. * builtins.c (expand_builtin_return_addr): Call it instead of using MEM_ALIAS_SET accessor. (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise. (get_memory_rtx, expand_builtin_va_arg): Likewise. (expand_builtin_va_copy):Likewise. * caller-save.c (setup_save_areas): Likewise. * calls.c (compute_argument_addresses): Likewise. * explow.c (set_mem_attributes): Likewise. * expr.c (emit_single_push_insn, emit_push_insn): Likewise. (expand_assignment, store_constructor_field, store_field): Likewise. (expand_expr_unaligned): Likewise. * function.c (assign_stack_temp_for_type): Likewise. (put_reg_into_stack, gen_mem_addressof): Likewise. * ifcvt.c (noce_try_cmove_arith): Likewise. * reload1.c (reload, alter_reg): Likewise. * config/alpha/alpha.c (get_aligned_mem): Likewise. (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise. (alpha_expand_unaligned_store): Likewise (alpha_expand_unaligned_load_words): Likewise. (alpha_expand_unaligned_store_words): Likewise. (alpha_expand_block_clear, alpha_expand_prologue): Likewise. (alpha_expand_epilogue): Likewise. * config/arc/arc.c (arc_setup_incoming_varargs): Likewise. * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise. * config/i386/i386.c (legitimize_pic_address): Likewise. * config/i960/i960.c (setup_incoming_varargs): Likewise. * config/ia64/ia64.c (spill_restore_mem): Likewise. * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise. * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise. * config/mips/mips.c (mips_va_arg): Likewise. * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise. * config/pa/pa.c (hppa_builtin_saveregs): Likewise. * config/rs6000/rs6000.c (rs6000_emit_move): Likewise. (setup_incoming_varargs, rs6000_va_arg): Likewise. (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise. (rs6000_emit_epilogue): Likewise. * config/sh/sh.c (sh_builtin_saveregs): Likewise. * config/sparc/sparc.c (sparc_va_arg): Likewise. * config/v850/v850.c (v850_va_arg): Likewise. From-SVN: r43951
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r--gcc/config/rs6000/rs6000.c60
1 files changed, 33 insertions, 27 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index a01bf6f..73aa3d5 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1861,9 +1861,10 @@ rs6000_emit_move (dest, source, mode)
get_pool_constant (XEXP (operands[1], 0)),
get_pool_mode (XEXP (operands[1], 0))))
{
- operands[1] = gen_rtx_MEM (mode,
- create_TOC_reference (XEXP (operands[1], 0)));
- MEM_ALIAS_SET (operands[1]) = get_TOC_alias_set ();
+ operands[1]
+ = gen_rtx_MEM (mode,
+ create_TOC_reference (XEXP (operands[1], 0)));
+ set_mem_alias_set (operands[1], get_TOC_alias_set ());
RTX_UNCHANGING_P (operands[1]) = 1;
}
}
@@ -2355,7 +2356,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
mem = gen_rtx_MEM (BLKmode,
plus_constant (save_area,
first_reg_offset * reg_size)),
- MEM_ALIAS_SET (mem) = set;
+ set_mem_alias_set (mem, set);
move_block_from_reg
(GP_ARG_MIN_REG + first_reg_offset, mem,
@@ -2387,7 +2388,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
while (fregno <= FP_ARG_V4_MAX_REG)
{
mem = gen_rtx_MEM (DFmode, plus_constant (save_area, off));
- MEM_ALIAS_SET (mem) = set;
+ set_mem_alias_set (mem, set);
emit_move_insn (mem, gen_rtx_REG (DFmode, fregno));
fregno++;
off += 8;
@@ -2692,7 +2693,7 @@ rs6000_va_arg (valist, type)
if (indirect_p)
{
r = gen_rtx_MEM (Pmode, addr_rtx);
- MEM_ALIAS_SET (r) = get_varargs_alias_set ();
+ set_mem_alias_set (r, get_varargs_alias_set ());
emit_move_insn (addr_rtx, r);
}
@@ -5673,7 +5674,7 @@ rs6000_emit_eh_toc_restore (stacksize)
rtx loop_exit = gen_label_rtx ();
mem = gen_rtx_MEM (Pmode, hard_frame_pointer_rtx);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (bottom_of_stack, mem);
top_of_stack = expand_binop (Pmode, add_optab,
@@ -5707,7 +5708,7 @@ rs6000_emit_eh_toc_restore (stacksize)
loop_exit);
mem = gen_rtx_MEM (Pmode, bottom_of_stack);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (bottom_of_stack, mem);
mem = gen_rtx_MEM (Pmode,
@@ -5723,15 +5724,15 @@ rs6000_emit_eh_toc_restore (stacksize)
}
#endif /* TARGET_AIX */
-/* This ties together stack memory
- (MEM with an alias set of rs6000_sr_alias_set)
- and the change to the stack pointer. */
+/* This ties together stack memory (MEM with an alias set of
+ rs6000_sr_alias_set) and the change to the stack pointer. */
+
static void
rs6000_emit_stack_tie ()
{
- rtx mem;
- mem = gen_rtx_MEM (BLKmode, gen_rtx_REG (Pmode, STACK_POINTER_REGNUM));
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ rtx mem = gen_rtx_MEM (BLKmode, gen_rtx_REG (Pmode, STACK_POINTER_REGNUM));
+
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_insn (gen_stack_tie (mem));
}
@@ -5972,7 +5973,7 @@ rs6000_emit_prologue ()
+ sp_offset
+ 8*i));
mem = gen_rtx_MEM (DFmode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
insn = emit_move_insn (mem, reg);
rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
@@ -6004,7 +6005,7 @@ rs6000_emit_prologue ()
GEN_INT (info->fp_save_offset
+ sp_offset + 8*i));
mem = gen_rtx_MEM (DFmode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
RTVEC_ELT (p, i + 2) = gen_rtx_SET (VOIDmode, mem, reg);
}
@@ -6030,7 +6031,7 @@ rs6000_emit_prologue ()
+ sp_offset
+ reg_size * i));
mem = gen_rtx_MEM (reg_mode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
RTVEC_ELT (p, i) = gen_rtx_SET (VOIDmode, mem, reg);
}
@@ -6057,7 +6058,7 @@ rs6000_emit_prologue ()
+ sp_offset
+ reg_size * i));
mem = gen_rtx_MEM (reg_mode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
insn = emit_move_insn (mem, reg);
rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
@@ -6084,7 +6085,7 @@ rs6000_emit_prologue ()
info->ehrd_offset + sp_offset
+ reg_size * (int) i);
mem = gen_rtx_MEM (reg_mode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
insn = emit_move_insn (mem, reg);
rs6000_frame_related (insn, frame_ptr_rtx, info->total_size,
@@ -6113,7 +6114,8 @@ rs6000_emit_prologue ()
rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
GEN_INT (info->cr_save_offset + sp_offset));
rtx mem = gen_rtx_MEM (SImode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
/* If r12 was used to hold the original sp, copy cr into r0 now
that it's free. */
@@ -6304,7 +6306,8 @@ rs6000_emit_epilogue (sibcall)
rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
GEN_INT (info->lr_save_offset + sp_offset));
rtx mem = gen_rtx_MEM (Pmode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (gen_rtx_REG (Pmode, 0), mem);
}
@@ -6315,7 +6318,8 @@ rs6000_emit_epilogue (sibcall)
rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
GEN_INT (info->cr_save_offset + sp_offset));
rtx mem = gen_rtx_MEM (SImode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (gen_rtx_REG (SImode, 12), mem);
}
@@ -6342,7 +6346,7 @@ rs6000_emit_epilogue (sibcall)
info->ehrd_offset + sp_offset
+ reg_size * (int) i);
mem = gen_rtx_MEM (reg_mode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (gen_rtx_REG (reg_mode, regno), mem);
}
@@ -6361,7 +6365,8 @@ rs6000_emit_epilogue (sibcall)
+ sp_offset
+ reg_size * i));
rtx mem = gen_rtx_MEM (reg_mode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
RTVEC_ELT (p, i) =
gen_rtx_SET (VOIDmode,
@@ -6385,7 +6390,8 @@ rs6000_emit_epilogue (sibcall)
+ sp_offset
+ reg_size * i));
rtx mem = gen_rtx_MEM (reg_mode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (gen_rtx_REG (reg_mode,
info->first_gp_reg_save + i),
@@ -6404,7 +6410,7 @@ rs6000_emit_epilogue (sibcall)
+ sp_offset
+ 8*i));
mem = gen_rtx_MEM (DFmode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
emit_move_insn (gen_rtx_REG (DFmode,
info->first_fp_reg_save + i),
@@ -6526,7 +6532,7 @@ rs6000_emit_epilogue (sibcall)
addr = gen_rtx_PLUS (Pmode, sp_reg_rtx,
GEN_INT (info->fp_save_offset + 8*i));
mem = gen_rtx_MEM (DFmode, addr);
- MEM_ALIAS_SET (mem) = rs6000_sr_alias_set;
+ set_mem_alias_set (mem, rs6000_sr_alias_set);
RTVEC_ELT (p, i+3) =
gen_rtx_SET (VOIDmode,