simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR from individual subregs...

* simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
	from individual subregs, check that each subreg has been generated
	sucessfully.

From-SVN: r55686
This commit is contained in:
J"orn Rennecke 2002-07-23 19:57:42 +00:00 committed by Joern Rennecke
parent 10d6af32dd
commit 1d5fa6b425
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Tue Jul 23 20:56:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
* simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
from individual subregs, check that each subreg has been generated
sucessfully.
2002-07-23 Neil Booth <neil@daikokuya.co.uk>
* genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.

View File

@ -2367,10 +2367,17 @@ simplify_subreg (outermode, op, innermode, byte)
int subsize = GET_MODE_UNIT_SIZE (outermode);
int i, elts = GET_MODE_NUNITS (outermode);
rtvec v = rtvec_alloc (elts);
rtx elt;
for (i = 0; i < elts; i++, byte += subsize)
{
RTVEC_ELT (v, i) = simplify_subreg (submode, op, innermode, byte);
/* This might fail, e.g. if taking a subreg from a SYMBOL_REF. */
/* ??? It would be nice if we could actually make such subregs
on targets that allow such relocations. */
elt = simplify_subreg (submode, op, innermode, byte);
if (! elt)
return NULL_RTX;
RTVEC_ELT (v, i) = elt;
}
return gen_rtx_CONST_VECTOR (outermode, v);
}