simplify-rtx.c (simplify_subreg): When simplifying a CONCAT...

* simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
least get rid of the CONCAT if we can't simplify further.

From-SVN: r43659
This commit is contained in:
DJ Delorie 2001-06-29 17:15:01 -04:00 committed by DJ Delorie
parent 62d285ff3a
commit 9199d62b82
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2001-06-29 DJ Delorie <dj@redhat.com>
* simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
least get rid of the CONCAT if we can't simplify further.
Fri Jun 29 12:27:24 2001 Jeffrey A Law (law@cygnus.com)
* ssa-dce.c (ssa_eliminate_dead_code): Renamed from

View File

@ -2430,9 +2430,14 @@ simplify_subreg (outermode, op, innermode, byte)
int is_realpart = byte < GET_MODE_UNIT_SIZE (innermode);
rtx part = is_realpart ? XEXP (op, 0) : XEXP (op, 1);
unsigned int final_offset;
rtx res;
final_offset = byte % (GET_MODE_UNIT_SIZE (innermode));
return simplify_subreg (outermode, part, GET_MODE (part), final_offset);
res = simplify_subreg (outermode, part, GET_MODE (part), final_offset);
if (res)
return res;
/* We can at least simplify it by referring directly to the relevent part. */
return gen_rtx_SUBREG (outermode, part, final_offset);
}
return NULL_RTX;