lra-remat.c (cand_transf_func): Process regno for rematerialization too.

2014-11-15  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-remat.c (cand_transf_func): Process regno for
	rematerialization too.
	* lra.c (lra): Switch on rematerialization pass.

From-SVN: r217624
This commit is contained in:
Vladimir Makarov 2014-11-16 05:00:30 +00:00 committed by Vladimir Makarov
parent cb9365ac6a
commit f607c5c4b7
3 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-11-15 Vladimir Makarov <vmakarov@redhat.com>
* lra-remat.c (cand_transf_func): Process regno for
rematerialization too.
* lra.c (lra): Switch on rematerialization pass.
2014-11-15 Vladimir Makarov <vmakarov@redhat.com>
* lra.c (lra): Switch off rematerialization pass.

View File

@ -860,6 +860,10 @@ cand_trans_fun (int bb_index, bitmap bb_in, bitmap bb_out)
bitmap_set_bit (&temp_bitmap, cid);
break;
}
/* Check regno for rematerialization. */
if (bitmap_bit_p (bb_changed_regs, cand->regno)
|| bitmap_bit_p (bb_dead_regs, cand->regno))
bitmap_set_bit (&temp_bitmap, cid);
}
return bitmap_ior_and_compl (bb_out,
&bb_info->gen_cands, bb_in, &temp_bitmap);

View File

@ -2354,7 +2354,7 @@ lra (FILE *f)
break;
/* Now we know what pseudos should be spilled. Try to
rematerialize them first. */
if (0&&lra_remat ())
if (lra_remat ())
{
/* We need full live info -- see the comment above. */
lra_create_live_ranges (lra_reg_spill_p, true);