re PR middle-end/55116 (LRA failed to decompose ASHIFT)

2012-10-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/55116
	* rtlanal.c (strip_address_mutation): Add SUBREG case.

From-SVN: r192949
This commit is contained in:
Vladimir Makarov 2012-10-29 16:36:57 +00:00 committed by Vladimir Makarov
parent 186db6a0f1
commit 163497f1a3
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55116
* rtlanal.c (strip_address_mutation): Add SUBREG case.
2012-10-29 Jan Hubicka <jh@suse.cz>
* ipa-inline.c (want_inline_function_called_once_p): Rename to ...

View File

@ -5459,6 +5459,12 @@ strip_address_mutations (rtx *loc, enum rtx_code *outer_code)
else if (code == AND && CONST_INT_P (XEXP (*loc, 1)))
/* (and ... (const_int -X)) is used to align to X bytes. */
loc = &XEXP (*loc, 0);
else if (code == SUBREG
&& !OBJECT_P (SUBREG_REG (*loc))
&& subreg_lowpart_p (*loc))
/* (subreg (operator ...) ...) inside and is used for mode
conversion too. */
loc = &XEXP (*loc, 0);
else
return loc;
if (outer_code)