diff options
Diffstat (limited to 'gnu/usr.bin/cc/cc_int/rtlanal.c')
-rw-r--r-- | gnu/usr.bin/cc/cc_int/rtlanal.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/gnu/usr.bin/cc/cc_int/rtlanal.c b/gnu/usr.bin/cc/cc_int/rtlanal.c index d52bd646686f..6a45cdf08cd9 100644 --- a/gnu/usr.bin/cc/cc_int/rtlanal.c +++ b/gnu/usr.bin/cc/cc_int/rtlanal.c @@ -154,7 +154,7 @@ rtx_addr_can_trap_p (x) return 1; } -/* Return 1 if X refers to a memory location whose address +/* Return 1 if X refers to a memory location whose address cannot be compared reliably with constant addresses, or if X refers to a BLKmode memory object. */ @@ -260,7 +260,7 @@ reg_mentioned_p (reg, in) case CONST_INT: return GET_CODE (reg) == CONST_INT && INTVAL (in) == INTVAL (reg); - + case CONST_DOUBLE: /* These are kept unique for a given value. */ return 0; @@ -586,13 +586,13 @@ single_set (insn) { rtx set; int i; - + if (GET_RTX_CLASS (GET_CODE (insn)) != 'i') return 0; if (GET_CODE (PATTERN (insn)) == SET) return PATTERN (insn); - + else if (GET_CODE (PATTERN (insn)) == PARALLEL) { for (i = 0, set = 0; i < XVECLEN (PATTERN (insn), 0); i++) @@ -608,7 +608,7 @@ single_set (insn) } return set; } - + return 0; } @@ -649,14 +649,14 @@ find_last_value (x, pinsn, valid_to) return src; } } - + /* If set in non-simple way, we don't have a value. */ if (reg_set_p (x, p)) break; } return x; -} +} /* Return nonzero if register in range [REGNO, ENDREGNO) appears either explicitly or implicitly in X @@ -700,7 +700,7 @@ refers_to_regno_p (regno, endregno, x, loc) return 1; return (endregno > i - && regno < i + (i < FIRST_PSEUDO_REGISTER + && regno < i + (i < FIRST_PSEUDO_REGISTER ? HARD_REGNO_NREGS (i, GET_MODE (x)) : 1)); @@ -1029,7 +1029,7 @@ rtx_equal_p (x, y) If the item being stored in or clobbered is a SUBREG of a hard register, the SUBREG will be passed. */ - + void note_stores (x, fun) register rtx x; @@ -1146,7 +1146,7 @@ dead_or_set_regno_p (insn, test_regno) if (GET_CODE (PATTERN (insn)) == SET) { rtx dest = SET_DEST (PATTERN (insn)); - + /* A value is totally replaced if it is the destination or the destination is a SUBREG of REGNO that does not change the number of words in it. */ @@ -1401,7 +1401,7 @@ volatile_insn_p (x) { register char *fmt = GET_RTX_FORMAT (code); register int i; - + for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) { if (fmt[i] == 'e') @@ -1464,7 +1464,7 @@ volatile_refs_p (x) { register char *fmt = GET_RTX_FORMAT (code); register int i; - + for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) { if (fmt[i] == 'e') @@ -1536,7 +1536,7 @@ side_effects_p (x) { register char *fmt = GET_RTX_FORMAT (code); register int i; - + for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) { if (fmt[i] == 'e') @@ -1685,7 +1685,7 @@ inequality_comparisons_p (x) return 1; } } - + return 0; } @@ -1719,12 +1719,12 @@ replace_rtx (x, from, to) } return x; -} +} /* Throughout the rtx X, replace many registers according to REG_MAP. Return the replacement for X (which may be X with altered contents). REG_MAP[R] is the replacement for register R, or 0 for don't replace. - NREGS is the length of REG_MAP; regs >= NREGS are not mapped. + NREGS is the length of REG_MAP; regs >= NREGS are not mapped. We only support REG_MAP entries of REG or SUBREG. Also, hard registers should not be mapped to pseudos or vice versa since validate_change |