Commit 6c051d60 by Vladimir Makarov Committed by Vladimir Makarov

re PR rtl-optimization/67954 (internal compiler error: in patch_jump_insn, at cfgrtl.c:1303)

2015-11-25  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/67954
	* lra-constraints.c (curr_insn_transform): Add check on scratch
	pseudo when change class to NO_REGS.  Add an assert.

From-SVN: r230894
parent df1bdded
2015-11-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/67954
* lra-constraints.c (curr_insn_transform): Add check on scratch
pseudo when change class to NO_REGS. Add an assert.
2015-11-25 Nathan Sidwell <nathan@acm.org> 2015-11-25 Nathan Sidwell <nathan@acm.org>
* config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number * config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number
...@@ -3725,7 +3725,8 @@ curr_insn_transform (bool check_only_p) ...@@ -3725,7 +3725,8 @@ curr_insn_transform (bool check_only_p)
assigment pass and the scratch pseudo will be assigment pass and the scratch pseudo will be
spilled. Spilled scratch pseudos are transformed spilled. Spilled scratch pseudos are transformed
back to scratches at the LRA end. */ back to scratches at the LRA end. */
&& lra_former_scratch_operand_p (curr_insn, i)) && lra_former_scratch_operand_p (curr_insn, i)
&& lra_former_scratch_p (REGNO (op)))
{ {
int regno = REGNO (op); int regno = REGNO (op);
lra_change_class (regno, NO_REGS, " Change to", true); lra_change_class (regno, NO_REGS, " Change to", true);
...@@ -3734,6 +3735,8 @@ curr_insn_transform (bool check_only_p) ...@@ -3734,6 +3735,8 @@ curr_insn_transform (bool check_only_p)
spilled pseudo as there is only one such insn, the spilled pseudo as there is only one such insn, the
current one. */ current one. */
reg_renumber[regno] = -1; reg_renumber[regno] = -1;
lra_assert (bitmap_single_bit_set_p
(&lra_reg_info[REGNO (op)].insn_bitmap));
} }
/* We can do an optional reload. If the pseudo got a hard /* We can do an optional reload. If the pseudo got a hard
reg, we might improve the code through inheritance. If reg, we might improve the code through inheritance. If
......
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