fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.

* fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>

From-SVN: r186278
This commit is contained in:
Ulrich Weigand 2012-04-10 13:50:43 +00:00 committed by Ulrich Weigand
parent e30459d52b
commit ca18edc55f
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
Richard Sandiford <rdsandiford@googlemail.com>
* fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.
2012-04-10 Richard Guenther <rguenther@suse.de>
PR middle-end/52888

View File

@ -664,7 +664,12 @@ propagate_rtx (rtx x, enum machine_mode mode, rtx old_rtx, rtx new_rtx,
return NULL_RTX;
flags = 0;
if (REG_P (new_rtx) || CONSTANT_P (new_rtx))
if (REG_P (new_rtx)
|| CONSTANT_P (new_rtx)
|| (GET_CODE (new_rtx) == SUBREG
&& REG_P (SUBREG_REG (new_rtx))
&& (GET_MODE_SIZE (mode)
<= GET_MODE_SIZE (GET_MODE (SUBREG_REG (new_rtx))))))
flags |= PR_CAN_APPEAR;
if (!for_each_rtx (&new_rtx, varying_mem_p, NULL))
flags |= PR_HANDLE_MEM;