mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-21 16:59:56 +08:00
cprop.c (do_local_cprop): Disallow replacement of fixed hard registers.
* cprop.c (do_local_cprop): Disallow replacement of fixed hard registers. From-SVN: r219786
This commit is contained in:
parent
3ecec1eff7
commit
25d1a5a74d
@ -1,3 +1,8 @@
|
||||
2015-01-17 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* cprop.c (do_local_cprop): Disallow replacement of fixed
|
||||
hard registers.
|
||||
|
||||
2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
PR target/62066
|
||||
|
@ -1189,10 +1189,12 @@ do_local_cprop (rtx x, rtx_insn *insn)
|
||||
rtx newreg = NULL, newcnst = NULL;
|
||||
|
||||
/* Rule out USE instructions and ASM statements as we don't want to
|
||||
change the hard registers mentioned. */
|
||||
change the hard registers mentioned, and don't change fixed hard
|
||||
registers. */
|
||||
if (REG_P (x)
|
||||
&& (REGNO (x) >= FIRST_PSEUDO_REGISTER
|
||||
|| (GET_CODE (PATTERN (insn)) != USE
|
||||
&& !fixed_regs[REGNO (x)]
|
||||
&& asm_noperands (PATTERN (insn)) < 0)))
|
||||
{
|
||||
cselib_val *val = cselib_lookup (x, GET_MODE (x), 0, VOIDmode);
|
||||
|
Loading…
Reference in New Issue
Block a user