diff options
Diffstat (limited to 'gcc/config/m88k/m88k.c')
-rw-r--r-- | gcc/config/m88k/m88k.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c index b1250e5e61b..2814ccbbc64 100644 --- a/gcc/config/m88k/m88k.c +++ b/gcc/config/m88k/m88k.c @@ -1,5 +1,6 @@ /* Subroutines for insn-output.c for Motorola 88000. - Copyright (C) 1988, 92, 93, 94, 95, 16, 1997 Free Software Foundation, Inc. + Copyright (C) 1988, 92, 93, 94, 95, 16, 1997, 1999 Free Software + Foundation, Inc. Contributed by Michael Tiemann (tiemann@mcc.com) Currently maintained by (gcc@dg-rtp.dg.com) @@ -406,8 +407,7 @@ legitimize_address (pic, orig, reg, scratch) { new = gen_rtx (MEM, GET_MODE (orig), new); RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (orig); - MEM_VOLATILE_P (new) = MEM_VOLATILE_P (orig); - MEM_IN_STRUCT_P (new) = MEM_IN_STRUCT_P (orig); + MEM_COPY_ATTRIBUTES (new, orig); } return new; } @@ -603,8 +603,7 @@ block_move_loop (dest, dest_mem, src, src_mem, size, align) gen_rtx (REG, Pmode, 3), offset_rtx)); RTX_UNCHANGING_P (value_rtx) = RTX_UNCHANGING_P (src_mem); - MEM_VOLATILE_P (value_rtx) = MEM_VOLATILE_P (src_mem); - MEM_IN_STRUCT_P (value_rtx) = MEM_IN_STRUCT_P (src_mem); + MEM_COPY_ATTRIBUTES (value_rtx, src_mem); emit_insn (gen_call_movstrsi_loop (gen_rtx (SYMBOL_REF, Pmode, IDENTIFIER_POINTER (entry_name)), @@ -660,8 +659,7 @@ block_move_no_loop (dest, dest_mem, src, src_mem, size, align) gen_rtx (REG, Pmode, 3), offset_rtx)); RTX_UNCHANGING_P (value_rtx) = RTX_UNCHANGING_P (src_mem); - MEM_VOLATILE_P (value_rtx) = MEM_VOLATILE_P (src_mem); - MEM_IN_STRUCT_P (value_rtx) = MEM_IN_STRUCT_P (src_mem); + MEM_COPY_ATTRIBUTES (value_rtx, src_mem); value_reg = ((((most - (size - remainder)) / align) & 1) == 0 ? (align == 8 ? 6 : 5) : 4); @@ -733,8 +731,7 @@ block_move_sequence (dest, dest_mem, src, src_mem, size, align, offset) gen_rtx (PLUS, Pmode, src, GEN_INT (offset_ld))); RTX_UNCHANGING_P (srcp) = RTX_UNCHANGING_P (src_mem); - MEM_VOLATILE_P (srcp) = MEM_VOLATILE_P (src_mem); - MEM_IN_STRUCT_P (srcp) = MEM_IN_STRUCT_P (src_mem); + MEM_COPY_ATTRIBUTES (srcp, src_mem); emit_insn (gen_rtx (SET, VOIDmode, temp[next], srcp)); offset_ld += amount[next]; active[next] = TRUE; @@ -748,8 +745,7 @@ block_move_sequence (dest, dest_mem, src, src_mem, size, align, offset) gen_rtx (PLUS, Pmode, dest, GEN_INT (offset_st))); RTX_UNCHANGING_P (dstp) = RTX_UNCHANGING_P (dest_mem); - MEM_VOLATILE_P (dstp) = MEM_VOLATILE_P (dest_mem); - MEM_IN_STRUCT_P (dstp) = MEM_IN_STRUCT_P (dest_mem); + MEM_COPY_ATTRIBUTES (dstp, dest_mem); emit_insn (gen_rtx (SET, VOIDmode, dstp, temp[phase])); offset_st += amount[phase]; } @@ -1484,6 +1480,7 @@ struct options char *string; int *variable; int on_value; + char *description; }; static int @@ -2610,7 +2607,7 @@ m88k_builtin_saveregs (arglist) /* Allocate the va_list constructor */ block = assign_stack_local (BLKmode, 3 * UNITS_PER_WORD, BITS_PER_WORD); - MEM_IN_STRUCT_P (block) = 1; + MEM_SET_IN_STRUCT_P (block, 1); RTX_UNCHANGING_P (block) = 1; RTX_UNCHANGING_P (XEXP (block, 0)) = 1; @@ -2626,7 +2623,7 @@ m88k_builtin_saveregs (arglist) /* Allocate the register space, and store it as the __va_reg member. */ addr = assign_stack_local (BLKmode, 8 * UNITS_PER_WORD, -1); - MEM_IN_STRUCT_P (addr) = 1; + MEM_SET_IN_STRUCT_P (addr, 1); RTX_UNCHANGING_P (addr) = 1; RTX_UNCHANGING_P (XEXP (addr, 0)) = 1; emit_move_insn (change_address (block, Pmode, @@ -2644,7 +2641,7 @@ m88k_builtin_saveregs (arglist) UNITS_PER_WORD * (8 - fixed)); } - if (flag_check_memory_usage) + if (current_function_check_memory_usage) { emit_library_call (chkr_set_right_libfunc, 1, VOIDmode, 3, block, ptr_mode, |