diff options
author | obrien <obrien@FreeBSD.org> | 2002-05-09 20:02:13 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-05-09 20:02:13 +0000 |
commit | c8f5fc7032940ad6633f932ac40cade82ec4d0cc (patch) | |
tree | 29a0f0a6c79a69ecc64f612947a0fe5904311713 /contrib/gcc/cse.c | |
parent | c9ab9ae440a8066b2c2b85b157b1fdadcf09916a (diff) | |
download | FreeBSD-src-c8f5fc7032940ad6633f932ac40cade82ec4d0cc.zip FreeBSD-src-c8f5fc7032940ad6633f932ac40cade82ec4d0cc.tar.gz |
Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.
Diffstat (limited to 'contrib/gcc/cse.c')
-rw-r--r-- | contrib/gcc/cse.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/contrib/gcc/cse.c b/contrib/gcc/cse.c index ac9e886..a607b0c 100644 --- a/contrib/gcc/cse.c +++ b/contrib/gcc/cse.c @@ -2323,6 +2323,22 @@ canon_hash (x, mode) + (unsigned) CONST_DOUBLE_HIGH (x)); return hash; + case CONST_VECTOR: + { + int units; + rtx elt; + + units = CONST_VECTOR_NUNITS (x); + + for (i = 0; i < units; ++i) + { + elt = CONST_VECTOR_ELT (x, i); + hash += canon_hash (elt, GET_MODE (elt)); + } + + return hash; + } + /* Assume there is only one rtx object for any given label. */ case LABEL_REF: hash += ((unsigned) LABEL_REF << 7) + (unsigned long) XEXP (x, 0); @@ -2776,6 +2792,7 @@ canon_reg (x, insn) case CONST: case CONST_INT: case CONST_DOUBLE: + case CONST_VECTOR: case SYMBOL_REF: case LABEL_REF: case ADDR_VEC: @@ -3317,6 +3334,7 @@ fold_rtx (x, insn) case CONST: case CONST_INT: case CONST_DOUBLE: + case CONST_VECTOR: case SYMBOL_REF: case LABEL_REF: case REG: @@ -3727,6 +3745,7 @@ fold_rtx (x, insn) case SYMBOL_REF: case LABEL_REF: case CONST_DOUBLE: + case CONST_VECTOR: const_arg = arg; break; @@ -5795,7 +5814,7 @@ cse_insn (insn, libcall_insn) else INSN_CODE (insn) = -1; - never_reached_warning (insn); + never_reached_warning (insn, NULL); /* Do not bother deleting any unreachable code, let jump/flow do that. */ @@ -6425,6 +6444,7 @@ cse_process_notes (x, object) case SYMBOL_REF: case LABEL_REF: case CONST_DOUBLE: + case CONST_VECTOR: case PC: case CC0: case LO_SUM: @@ -7416,6 +7436,7 @@ count_reg_usage (x, counts, dest, incr) case CONST: case CONST_INT: case CONST_DOUBLE: + case CONST_VECTOR: case SYMBOL_REF: case LABEL_REF: return; |