diff options
author | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-05 22:04:53 +0000 |
---|---|---|
committer | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-05 22:04:53 +0000 |
commit | 2ec77a7cc5b04ea0b5b1fac0a0c64aefbc65b508 (patch) | |
tree | 8e3fd9b95272e38722b8ccc0c1966d15de16b449 /gcc/config | |
parent | ed53cebe3549171cd5ee908d064b019e834b02ff (diff) | |
download | gcc-2ec77a7cc5b04ea0b5b1fac0a0c64aefbc65b508.tar.gz |
gcc/
* rtlanal.c (refers_to_regno_p): Change return value from int to bool.
* rtl.h (refers_to_regno_p): Add overload.
* cse.c: Use it.
* bt-load.c: Likewise.
* combine.c: Likewise.
* df-scan.c: Likewise.
* sched-deps.c: Likewise.
* config/s390/s390.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/rs6000/spe.md: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/pa/pa.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/arc/arc.md: Likewise.
* config/arc/arc.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.c: Likewise.
* config/frv/frv.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219203 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/arc/arc.c | 2 | ||||
-rw-r--r-- | gcc/config/arc/arc.md | 3 | ||||
-rw-r--r-- | gcc/config/cris/cris.c | 3 | ||||
-rw-r--r-- | gcc/config/frv/frv.c | 2 | ||||
-rw-r--r-- | gcc/config/m32r/m32r.c | 3 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/spe.md | 6 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 8 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 5 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 9 | ||||
-rw-r--r-- | gcc/config/stormy16/stormy16.c | 2 |
12 files changed, 18 insertions, 31 deletions
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index dcca4de26df..e22ad268384 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -9059,7 +9059,7 @@ arc_regno_use_in (unsigned int regno, rtx x) int i, j; rtx tem; - if (REG_P (x) && refers_to_regno_p (regno, regno+1, x, (rtx *) 0)) + if (REG_P (x) && refers_to_regno_p (regno, x)) return x; fmt = GET_RTX_FORMAT (GET_CODE (x)); diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index ba0125d4c2c..8fabf5e6fbb 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -952,8 +952,7 @@ last. Otherwise, load it first. Note that we cannot have auto-increment in that case since the address register is known to be dead. */ - if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1, - operands [1], 0)) + if (refers_to_regno_p (REGNO (operands[0]), operands[1])) return \"ld%V1 %R0,%R1\;ld%V1 %0,%1\"; else switch (GET_CODE (XEXP(operands[1], 0))) { diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index c92f9f46954..517d596c2c4 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -2936,8 +2936,7 @@ cris_split_movdx (rtx *operands) /* If the high-address word is used in the address, we must load it last. Otherwise, load it first. */ rtx addr = XEXP (src, 0); - int reverse - = (refers_to_regno_p (dregno, dregno + 1, addr, NULL) != 0); + int reverse = (refers_to_regno_p (dregno, addr) != 0); /* The original code implies that we can't do move.x [rN+],rM move.x [rN],rM+1 diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c index e9103773957..0d4a9b4dd93 100644 --- a/gcc/config/frv/frv.c +++ b/gcc/config/frv/frv.c @@ -5035,7 +5035,7 @@ frv_split_double_load (rtx dest, rtx source) of the registers could affect the value of ADDRESS, so we must be careful which order we do them in. */ if (GET_CODE (address) == PRE_MODIFY - || ! refers_to_regno_p (regno, regno + 1, address, NULL)) + || ! refers_to_regno_p (regno, address)) { /* It is safe to load the lower-numbered register first. */ emit_move_insn (dest1, change_address (source, SImode, NULL)); diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c index c582f9f1f21..b0be3fa4421 100644 --- a/gcc/config/m32r/m32r.c +++ b/gcc/config/m32r/m32r.c @@ -1096,8 +1096,7 @@ gen_split_move_double (rtx operands[]) { /* If the high-address word is used in the address, we must load it last. Otherwise, load it first. */ - int reverse - = (refers_to_regno_p (dregno, dregno + 1, XEXP (src, 0), 0) != 0); + int reverse = refers_to_regno_p (dregno, XEXP (src, 0)); /* We used to optimize loads from single registers as diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 839a5aaa2ae..b13cbc3c4b9 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -2649,8 +2649,7 @@ pa_output_move_double (rtx *operands) Handle mem -> register case first. */ if (optype0 == REGOP && (optype1 == MEMOP || optype1 == OFFSOP) - && refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1, - operands[1], 0)) + && refers_to_regno_p (REGNO (operands[0]), operands[1])) { /* Do the late half first. */ if (addreg1) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 608965ec353..e2bfcd696f6 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -16087,8 +16087,7 @@ rs6000_output_load_multiple (rtx operands[3]) return "lwz %2,0(%1)"; for (i = 0; i < words; i++) - if (refers_to_regno_p (REGNO (operands[2]) + i, - REGNO (operands[2]) + i + 1, operands[1], 0)) + if (refers_to_regno_p (REGNO (operands[2]) + i, operands[1])) { if (i == words-1) { diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md index e14bae7fae0..d65dcf3121b 100644 --- a/gcc/config/rs6000/spe.md +++ b/gcc/config/rs6000/spe.md @@ -2421,8 +2421,7 @@ it last. Otherwise, load it first. Note that we cannot have auto-increment in that case since the address register is known to be dead. */ - if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1, - operands[1], 0)) + if (refers_to_regno_p (REGNO (operands[0]), operands[1])) { if (WORDS_BIG_ENDIAN) return \"lwz %L0,%L1\;lwz %0,%1\"; @@ -2465,8 +2464,7 @@ else return \"evldd%X1 %Y0,%y1\;evmergehi %Z0,%Y0,%Y0\"; } - if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1, - operands[1], 0)) + if (refers_to_regno_p (REGNO (operands[0]), operands[1])) { if (WORDS_BIG_ENDIAN) return \"lwz %Z0,%L1\;lwz %Y0,%1\"; diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 53dd89bb711..36b547d512c 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -5736,15 +5736,13 @@ reg_used_in_mem_p (int regno, rtx x) if (code == MEM) { - if (refers_to_regno_p (regno, regno+1, - XEXP (x, 0), 0)) + if (refers_to_regno_p (regno, XEXP (x, 0))) return true; } else if (code == SET && GET_CODE (SET_DEST (x)) == PC) { - if (refers_to_regno_p (regno, regno+1, - SET_SRC (x), 0)) + if (refers_to_regno_p (regno, SET_SRC (x))) return true; } @@ -5795,7 +5793,7 @@ addr_generation_dependency_p (rtx dep_rtx, rtx_insn *insn) pat = XVECEXP (pat, 0, 0); } gcc_assert (GET_CODE (pat) == SET); - return refers_to_regno_p (regno, regno+1, SET_SRC (pat), 0); + return refers_to_regno_p (regno, SET_SRC (pat)); } else if (get_attr_atype (insn) == ATYPE_AGEN) return reg_used_in_mem_p (regno, PATTERN (insn)); diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 32251c610df..a4006b4b4a5 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -1773,7 +1773,7 @@ prepare_move_operands (rtx operands[], machine_mode mode) reload will fail to find a spill register for rX, since r0 is already being used for the source. */ else if (TARGET_SH1 - && refers_to_regno_p (R0_REG, R0_REG + 1, operands[1], (rtx *)0) + && refers_to_regno_p (R0_REG, operands[1]) && MEM_P (operands[0]) && GET_CODE (XEXP (operands[0], 0)) == PLUS && REG_P (XEXP (XEXP (operands[0], 0), 1))) @@ -7808,8 +7808,7 @@ sh_expand_prologue (void) { offset_in_r0 = -1; sp_in_r0 = 0; - gcc_assert (!refers_to_regno_p - (R0_REG, R0_REG+1, mem_rtx, (rtx *) 0)); + gcc_assert (!refers_to_regno_p (R0_REG, mem_rtx)); } if (*++tmp_pnt <= 0) diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 5b3b388b3c0..37d2a2013b5 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -7253,8 +7253,7 @@ label: gcc_unreachable (); } - if (regno == -1 - || ! refers_to_regno_p (regno, regno + 1, operands[1], 0)) + if (regno == -1 || ! refers_to_regno_p (regno, operands[1])) { operands[2] = operand_subword (operands[0], 0, 0, DImode); operands[3] = operand_subword (operands[1], 0, 0, DImode); @@ -7787,8 +7786,7 @@ label: alter_subreg (&word0, true); word1 = gen_rtx_SUBREG (SImode, regop, 4); alter_subreg (&word1, true); - if (store_p || ! refers_to_regno_p (REGNO (word0), - REGNO (word0) + 1, addr, 0)) + if (store_p || ! refers_to_regno_p (REGNO (word0), addr)) { emit_insn (store_p ? gen_movsi_ie (mem, word0) @@ -8067,8 +8065,7 @@ label: gcc_unreachable (); } - if (regno == -1 - || ! refers_to_regno_p (regno, regno + 1, operands[1], 0)) + if (regno == -1 || ! refers_to_regno_p (regno, operands[1])) { operands[2] = operand_subword (operands[0], 0, 0, DFmode); operands[3] = operand_subword (operands[1], 0, 0, DFmode); diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index 1a582442ba9..6e7ea1e562d 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -815,7 +815,7 @@ xstormy16_split_move (machine_mode mode, rtx dest, rtx src) gcc_assert (refers_to_regno_p (regno, regno + num_words, mem_operand, 0)); - if (refers_to_regno_p (regno, regno + 1, mem_operand, 0)) + if (refers_to_regno_p (regno, mem_operand)) direction = -1; else if (refers_to_regno_p (regno + num_words - 1, regno + num_words, mem_operand, 0)) |