recog.c (scratch_operand): Do not simply allow all hard registers: only allow those that are allocatable.

2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>

	* recog.c (scratch_operand): Do not simply allow all hard registers:
	only allow those that are allocatable.

From-SVN: r215399
This commit is contained in:
Segher Boessenkool 2014-09-19 18:42:26 +02:00 committed by Segher Boessenkool
parent 2b9c63a2d8
commit f8fb315582
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2014-09-19 Segher Boessenkool <segher@kernel.crashing.org>
* recog.c (scratch_operand): Do not simply allow all hard registers:
only allow those that are allocatable.
2014-09-19 Felix Yang <felix.yang@huawei.com>
* cfgrtl.c ira.c ira-color.c ira-conflicts ira-lives.c: Update

View File

@ -1143,7 +1143,9 @@ scratch_operand (rtx op, enum machine_mode mode)
return (GET_CODE (op) == SCRATCH
|| (REG_P (op)
&& (lra_in_progress || REGNO (op) < FIRST_PSEUDO_REGISTER)));
&& (lra_in_progress
|| (REGNO (op) < FIRST_PSEUDO_REGISTER
&& REGNO_REG_CLASS (REGNO (op)) != NO_REGS))));
}
/* Return 1 if OP is a valid immediate operand for mode MODE.