diff options
Diffstat (limited to 'gcc/config')
| -rw-r--r-- | gcc/config/arm/arm.c | 7 | ||||
| -rw-r--r-- | gcc/config/darwin.c | 21 | ||||
| -rw-r--r-- | gcc/config/i386/i386.c | 9 | ||||
| -rw-r--r-- | gcc/config/ia64/ia64.c | 12 | ||||
| -rw-r--r-- | gcc/config/ia64/ia64.md | 3 | ||||
| -rw-r--r-- | gcc/config/m32r/m32r.c | 4 | ||||
| -rw-r--r-- | gcc/config/pa/pa.c | 12 | ||||
| -rw-r--r-- | gcc/config/rs6000/rs6000.c | 8 | ||||
| -rw-r--r-- | gcc/config/s390/s390.c | 22 | ||||
| -rw-r--r-- | gcc/config/s390/s390.md | 4 | ||||
| -rw-r--r-- | gcc/config/sh/sh.c | 6 | ||||
| -rw-r--r-- | gcc/config/sparc/sparc.c | 7 | ||||
| -rw-r--r-- | gcc/config/v850/v850.md | 3 |
13 files changed, 43 insertions, 75 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index fb96c38..ed6445f 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -2921,10 +2921,9 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address); else { - pic_ref = gen_rtx_MEM (Pmode, - gen_rtx_PLUS (Pmode, pic_offset_table_rtx, - address)); - MEM_READONLY_P (pic_ref) = 1; + pic_ref = gen_const_mem (Pmode, + gen_rtx_PLUS (Pmode, pic_offset_table_rtx, + address)); } insn = emit_move_insn (reg, pic_ref); diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 7b6a524..579daf8 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -386,10 +386,9 @@ machopic_indirect_data_reference (rtx orig, rtx reg) (Pmode, machopic_indirection_name (orig, /*stub_p=*/false))); - SYMBOL_REF_DECL (ptr_ref) = SYMBOL_REF_DECL (orig); + SYMBOL_REF_DECL (ptr_ref) = SYMBOL_REF_DECL (orig); - ptr_ref = gen_rtx_MEM (Pmode, ptr_ref); - MEM_READONLY_P (ptr_ref) = 1; + ptr_ref = gen_const_mem (Pmode, ptr_ref); return ptr_ref; } @@ -474,6 +473,7 @@ machopic_indirect_call_target (rtx target) XEXP (target, 0) = gen_rtx_SYMBOL_REF (mode, stub_name); SYMBOL_REF_DECL (XEXP (target, 0)) = decl; MEM_READONLY_P (target) = 1; + MEM_NOTRAP_P (target) = 1; } return target; @@ -536,9 +536,8 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) emit_insn (mode == DImode ? gen_macho_high_di (temp_reg, asym) : gen_macho_high (temp_reg, asym)); - mem = gen_rtx_MEM (GET_MODE (orig), - gen_rtx_LO_SUM (Pmode, temp_reg, asym)); - MEM_READONLY_P (mem) = 1; + mem = gen_const_mem (GET_MODE (orig), + gen_rtx_LO_SUM (Pmode, temp_reg, asym)); emit_insn (gen_rtx_SET (VOIDmode, reg, mem)); #else /* Some other CPU -- WriteMe! but right now there are no other platform that can use dynamic-no-pic */ @@ -568,10 +567,9 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) emit_insn (gen_rtx_SET (Pmode, hi_sum_reg, sum)); - mem = gen_rtx_MEM (GET_MODE (orig), - gen_rtx_LO_SUM (Pmode, - hi_sum_reg, offset)); - MEM_READONLY_P (mem) = 1; + mem = gen_const_mem (GET_MODE (orig), + gen_rtx_LO_SUM (Pmode, + hi_sum_reg, offset)); insn = emit_insn (gen_rtx_SET (VOIDmode, reg, mem)); REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, pic_ref, REG_NOTES (insn)); @@ -618,8 +616,7 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) #if !defined (TARGET_TOC) emit_move_insn (reg, pic_ref); - pic_ref = gen_rtx_MEM (GET_MODE (orig), reg); - MEM_READONLY_P (pic_ref) = 1; + pic_ref = gen_const_mem (GET_MODE (orig), reg); #endif } else diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 50e56ad..9ae3972 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5306,8 +5306,7 @@ legitimize_pic_address (rtx orig, rtx reg) { new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOTPCREL); new = gen_rtx_CONST (Pmode, new); - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, new); set_mem_alias_set (new, ix86_GOT_alias_set ()); if (reg == 0) @@ -5328,8 +5327,7 @@ legitimize_pic_address (rtx orig, rtx reg) new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOT); new = gen_rtx_CONST (Pmode, new); new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new); - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, new); set_mem_alias_set (new, ix86_GOT_alias_set ()); if (reg == 0) @@ -5508,8 +5506,7 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov) off = gen_rtx_CONST (Pmode, off); if (pic) off = gen_rtx_PLUS (Pmode, pic, off); - off = gen_rtx_MEM (Pmode, off); - MEM_READONLY_P (off) = 1; + off = gen_const_mem (Pmode, off); set_mem_alias_set (off, ix86_GOT_alias_set ()); if (TARGET_64BIT || TARGET_GNU_TLS) diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index f786f33..770f832 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -686,13 +686,11 @@ ia64_expand_tls_address (enum tls_model tls_kind, rtx op0, rtx op1) tga_op1 = gen_reg_rtx (Pmode); emit_insn (gen_load_ltoff_dtpmod (tga_op1, op1)); - tga_op1 = gen_rtx_MEM (Pmode, tga_op1); - MEM_READONLY_P (tga_op1) = 1; + tga_op1 = gen_const_mem (Pmode, tga_op1); tga_op2 = gen_reg_rtx (Pmode); emit_insn (gen_load_ltoff_dtprel (tga_op2, op1)); - tga_op2 = gen_rtx_MEM (Pmode, tga_op2); - MEM_READONLY_P (tga_op2) = 1; + tga_op2 = gen_const_mem (Pmode, tga_op2); tga_ret = emit_library_call_value (gen_tls_get_addr (), NULL_RTX, LCT_CONST, Pmode, 2, tga_op1, @@ -715,8 +713,7 @@ ia64_expand_tls_address (enum tls_model tls_kind, rtx op0, rtx op1) tga_op1 = gen_reg_rtx (Pmode); emit_insn (gen_load_ltoff_dtpmod (tga_op1, op1)); - tga_op1 = gen_rtx_MEM (Pmode, tga_op1); - MEM_READONLY_P (tga_op1) = 1; + tga_op1 = gen_const_mem (Pmode, tga_op1); tga_op2 = const0_rtx; @@ -746,8 +743,7 @@ ia64_expand_tls_address (enum tls_model tls_kind, rtx op0, rtx op1) case TLS_MODEL_INITIAL_EXEC: tmp = gen_reg_rtx (Pmode); emit_insn (gen_load_ltoff_tprel (tmp, op1)); - tmp = gen_rtx_MEM (Pmode, tmp); - MEM_READONLY_P (tmp) = 1; + tmp = gen_const_mem (Pmode, tmp); tmp = force_reg (Pmode, tmp); if (!register_operand (op0, Pmode)) diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index 8b3cfdb..4b9a4b9 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -718,8 +718,7 @@ "" { operands[2] = no_new_pseudos ? operands[0] : gen_reg_rtx (DImode); - operands[3] = gen_rtx_MEM (DImode, operands[2]); - MEM_READONLY_P (operands[3]) = 1; + operands[3] = gen_const_mem (DImode, operands[2]); }) (define_insn "*load_fptr_internal1" diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c index 191d0a7..ca4079f 100644 --- a/gcc/config/m32r/m32r.c +++ b/gcc/config/m32r/m32r.c @@ -1993,9 +1993,7 @@ m32r_legitimize_pic_address (rtx orig, rtx reg) emit_insn (gen_pic_load_addr (address, orig)); emit_insn (gen_addsi3 (address, address, pic_offset_table_rtx)); - pic_ref = gen_rtx_MEM (Pmode, address); - - MEM_READONLY_P (pic_ref) = 1; + pic_ref = gen_const_mem (Pmode, address); insn = emit_move_insn (reg, pic_ref); current_function_uses_pic_offset_table = 1; #if 0 diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index d1ed718..be1c4bd 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1013,15 +1013,13 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) gen_rtx_PLUS (word_mode, pic_offset_table_rtx, gen_rtx_HIGH (word_mode, orig))); pic_ref - = gen_rtx_MEM (Pmode, - gen_rtx_LO_SUM (Pmode, tmp_reg, - gen_rtx_UNSPEC (Pmode, - gen_rtvec (1, orig), - UNSPEC_DLTIND14R))); + = gen_const_mem (Pmode, + gen_rtx_LO_SUM (Pmode, tmp_reg, + gen_rtx_UNSPEC (Pmode, + gen_rtvec (1, orig), + UNSPEC_DLTIND14R))); current_function_uses_pic_offset_table = 1; - MEM_NOTRAP_P (pic_ref) = 1; - MEM_READONLY_P (pic_ref) = 1; mark_reg_pointer (reg, BITS_PER_UNIT); insn = emit_move_insn (reg, pic_ref); diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7651d2a..13143d7 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3460,8 +3460,7 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model) tmp1 = gen_reg_rtx (Pmode); tmp2 = gen_reg_rtx (Pmode); tmp3 = gen_reg_rtx (Pmode); - mem = gen_rtx_MEM (Pmode, tmp1); - MEM_READONLY_P (mem) = 1; + mem = gen_const_mem (Pmode, tmp1); first = emit_insn (gen_load_toc_v4_PIC_1b (tempLR, lab, gsym)); @@ -4418,10 +4417,9 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode) get_pool_mode (XEXP (operands[1], 0)))) { operands[1] - = gen_rtx_MEM (mode, - create_TOC_reference (XEXP (operands[1], 0))); + = gen_const_mem (mode, + create_TOC_reference (XEXP (operands[1], 0))); set_mem_alias_set (operands[1], get_TOC_alias_set ()); - MEM_READONLY_P (operands[1]) = 1; } } break; diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 49d4a24..89c95df 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -2604,8 +2604,7 @@ legitimize_pic_address (rtx orig, rtx reg) new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOT); new = gen_rtx_CONST (Pmode, new); new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new); - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, new); emit_move_insn (reg, new); new = reg; } @@ -2620,8 +2619,7 @@ legitimize_pic_address (rtx orig, rtx reg) new = gen_rtx_CONST (Pmode, new); emit_move_insn (temp, new); - new = gen_rtx_MEM (Pmode, temp); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, temp); emit_move_insn (reg, new); new = reg; } @@ -2641,8 +2639,7 @@ legitimize_pic_address (rtx orig, rtx reg) emit_move_insn (temp, addr); new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp); - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, new); emit_move_insn (reg, new); new = reg; } @@ -2932,8 +2929,7 @@ legitimize_tls_address (rtx addr, rtx reg) new = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr), UNSPEC_GOTNTPOFF); new = gen_rtx_CONST (Pmode, new); new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new); - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, new); temp = gen_reg_rtx (Pmode); emit_move_insn (temp, new); } @@ -2947,8 +2943,7 @@ legitimize_tls_address (rtx addr, rtx reg) temp = gen_reg_rtx (Pmode); emit_move_insn (temp, new); - new = gen_rtx_MEM (Pmode, temp); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, temp); temp = gen_reg_rtx (Pmode); emit_move_insn (temp, new); } @@ -2967,8 +2962,7 @@ legitimize_tls_address (rtx addr, rtx reg) emit_move_insn (temp, new); new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp); - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; + new = gen_const_mem (Pmode, new); new = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, new, addr), UNSPEC_TLS_LOAD); temp = gen_reg_rtx (Pmode); @@ -2986,9 +2980,7 @@ legitimize_tls_address (rtx addr, rtx reg) emit_move_insn (temp, new); new = temp; - new = gen_rtx_MEM (Pmode, new); - MEM_READONLY_P (new) = 1; - + new = gen_const_mem (Pmode, new); new = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, new, addr), UNSPEC_TLS_LOAD); temp = gen_reg_rtx (Pmode); emit_insn (gen_rtx_SET (Pmode, temp, new)); diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 0cbcc0a..bbfed32 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -6840,9 +6840,7 @@ emit_move_insn (base, gen_rtx_LABEL_REF (Pmode, operands[3])); - index = gen_rtx_MEM (Pmode, gen_rtx_PLUS (Pmode, base, index)); - MEM_READONLY_P (index) = 1; - MEM_NOTRAP_P (index) = 1; + index = gen_const_mem (Pmode, gen_rtx_PLUS (Pmode, base, index)); emit_move_insn (target, index); if (flag_pic) diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 6cfcdf9..254aef5 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -1042,7 +1042,6 @@ prepare_move_operands (rtx operands[], enum machine_mode mode) emit_insn (gen_load_gbr (tmp2)); tmp = gen_reg_rtx (Pmode); emit_insn (gen_symTPOFF2reg (tmp, op1)); - MEM_READONLY_P (tmp) = 1; if (register_operand (op0, Pmode)) op1 = op0; @@ -4398,9 +4397,8 @@ sh_reorg (void) else { lab = add_constant (src, mode, 0); - newsrc = gen_rtx_MEM (mode, - gen_rtx_LABEL_REF (VOIDmode, lab)); - MEM_READONLY_P (newsrc) = 1; + newsrc = gen_rtx_LABEL_REF (VOIDmode, lab); + newsrc = gen_const_mem (mode, newsrc); } *patp = gen_rtx_SET (VOIDmode, dst, newsrc); INSN_CODE (scan) = -1; diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index f1f2b21..ac1a434 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -3805,11 +3805,10 @@ legitimize_pic_address (rtx orig, enum machine_mode mode ATTRIBUTE_UNUSED, else address = orig; - pic_ref = gen_rtx_MEM (Pmode, - gen_rtx_PLUS (Pmode, - pic_offset_table_rtx, address)); + pic_ref = gen_const_mem (Pmode, + gen_rtx_PLUS (Pmode, + pic_offset_table_rtx, address)); current_function_uses_pic_offset_table = 1; - MEM_READONLY_P (pic_ref) = 1; insn = emit_move_insn (reg, pic_ref); /* Put a REG_EQUAL note on this insn, so that it can be optimized by loop. */ diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md index 900f1e3..cc82079 100644 --- a/gcc/config/v850/v850.md +++ b/gcc/config/v850/v850.md @@ -1320,8 +1320,7 @@ /* Add the table address to the index. */ emit_insn (gen_addsi3 (reg, reg, tableaddress)); /* Load the table entry. */ - mem = gen_rtx_MEM (CASE_VECTOR_MODE, reg); - MEM_READONLY_P (mem) = 1; + mem = gen_const_mem (CASE_VECTOR_MODE, reg); if (! TARGET_BIG_SWITCH) { rtx reg2 = gen_reg_rtx (HImode); |
