Commit c61fe0cc by Kito Cheng Committed by Bin Cheng

re PR target/64348 (Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC)

2015-01-09  Kito Cheng  <kito@0xlab.org>

	PR rtl-optimization/64348
	* lra-constraints.c (split_reg): Fix caller-save store/restore
	instruction generation.

From-SVN: r219375
parent a8e67466
2015-01-09 Kito Cheng <kito@0xlab.org>
PR rtl-optimization/64348
* lra-constraints.c (split_reg): Fix caller-save store/restore
instruction generation.
2015-01-08 John David Anglin <danglin@gcc.gnu.org>
PR gcov-profile/61790
......
......@@ -4918,15 +4918,14 @@ split_reg (bool before_p, int original_regno, rtx_insn *insn,
reg_renumber[REGNO (new_reg)] = hard_regno;
}
save = emit_spill_move (true, new_reg, original_reg);
if (NEXT_INSN (save) != NULL_RTX)
if (NEXT_INSN (save) != NULL_RTX && !call_save_p)
{
lra_assert (! call_save_p);
if (lra_dump_file != NULL)
{
fprintf
(lra_dump_file,
" Rejecting split %d->%d resulting in > 2 %s save insns:\n",
original_regno, REGNO (new_reg), call_save_p ? "call" : "");
" Rejecting split %d->%d resulting in > 2 save insns:\n",
original_regno, REGNO (new_reg));
dump_rtl_slim (lra_dump_file, save, NULL, -1, 0);
fprintf (lra_dump_file,
" ))))))))))))))))))))))))))))))))))))))))))))))))\n");
......@@ -4934,15 +4933,14 @@ split_reg (bool before_p, int original_regno, rtx_insn *insn,
return false;
}
restore = emit_spill_move (false, new_reg, original_reg);
if (NEXT_INSN (restore) != NULL_RTX)
if (NEXT_INSN (restore) != NULL_RTX && !call_save_p)
{
lra_assert (! call_save_p);
if (lra_dump_file != NULL)
{
fprintf (lra_dump_file,
" Rejecting split %d->%d "
"resulting in > 2 %s restore insns:\n",
original_regno, REGNO (new_reg), call_save_p ? "call" : "");
"resulting in > 2 restore insns:\n",
original_regno, REGNO (new_reg));
dump_rtl_slim (lra_dump_file, restore, NULL, -1, 0);
fprintf (lra_dump_file,
" ))))))))))))))))))))))))))))))))))))))))))))))))\n");
......
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