Commit 7613fa50 by Vladimir Makarov Committed by Vladimir Makarov

re PR rtl-optimization/59959 (LRA ICEs on a fortran case(Suspected to be similar to pr59915))

2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59959
	* lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
	any reload of register whose subreg is invalid.

From-SVN: r207323
parent 6fb82517
2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59959
* lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
any reload of register whose subreg is invalid.
2014-01-30 Jakub Jelinek <jakub@redhat.com> 2014-01-30 Jakub Jelinek <jakub@redhat.com>
* config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
......
...@@ -1293,11 +1293,8 @@ simplify_operand_subreg (int nop, enum machine_mode reg_mode) ...@@ -1293,11 +1293,8 @@ simplify_operand_subreg (int nop, enum machine_mode reg_mode)
{ {
enum reg_class rclass; enum reg_class rclass;
if (REG_P (reg) if (REG_P (reg))
&& curr_insn_set != NULL_RTX /* There is a big probability that we will get the same class
&& (REG_P (SET_SRC (curr_insn_set))
|| GET_CODE (SET_SRC (curr_insn_set)) == SUBREG))
/* There is big probability that we will get the same class
for the new pseudo and we will get the same insn which for the new pseudo and we will get the same insn which
means infinite looping. So spill the new pseudo. */ means infinite looping. So spill the new pseudo. */
rclass = NO_REGS; rclass = NO_REGS;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment