mirror of git://gcc.gnu.org/git/gcc.git
combine.c (subst): Use simplify_subreg_regno rather than REG_CANNOT_CHANGE_MODE_P to detect...
gcc/ * combine.c (subst): Use simplify_subreg_regno rather than REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes. From-SVN: r215448
This commit is contained in:
parent
0cb07998ae
commit
7af3b946a4
|
|
@ -1,3 +1,8 @@
|
|||
2014-09-22 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* combine.c (subst): Use simplify_subreg_regno rather than
|
||||
REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes.
|
||||
|
||||
2014-09-22 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* rtl.h (subreg_info): Expand commentary
|
||||
|
|
|
|||
|
|
@ -5121,15 +5121,13 @@ subst (rtx x, rtx from, rtx to, int in_dest, int in_cond, int unique_copy)
|
|||
)
|
||||
return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
|
||||
|
||||
#ifdef CANNOT_CHANGE_MODE_CLASS
|
||||
if (code == SUBREG
|
||||
&& REG_P (to)
|
||||
&& REGNO (to) < FIRST_PSEUDO_REGISTER
|
||||
&& REG_CANNOT_CHANGE_MODE_P (REGNO (to),
|
||||
GET_MODE (to),
|
||||
GET_MODE (x)))
|
||||
&& simplify_subreg_regno (REGNO (to), GET_MODE (to),
|
||||
SUBREG_BYTE (x),
|
||||
GET_MODE (x)) < 0)
|
||||
return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
|
||||
#endif
|
||||
|
||||
new_rtx = (unique_copy && n_occurrences ? copy_rtx (to) : to);
|
||||
n_occurrences++;
|
||||
|
|
|
|||
Loading…
Reference in New Issue