Commit 53aaaa2e authored by vmakarov's avatar vmakarov
Browse files

2011-08-19 Vladimir Makarov <vmakarov@redhat.com>

	PR rtl-optimization/49936
	* ira.c (ira_init_register_move_cost): Ignore too small subclasses
	for calculation of max register move costs.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177916 138bc75d-0d04-0410-961f-82ee72b054a4
parent 032558a4
2011-08-19 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/49936
* ira.c (ira_init_register_move_cost): Ignore too small subclasses
for calculation of max register move costs.
2011-08-19 Joseph Myers <joseph@codesourcery.com>
 
* c-parser.c (c_parser_postfix_expression): Convert operands of
......
......@@ -1501,6 +1501,10 @@ ira_init_register_move_cost (enum machine_mode mode)
sizeof (move_table) * N_REG_CLASSES);
for (cl1 = 0; cl1 < N_REG_CLASSES; cl1++)
{
/* Some subclasses are to small to have enough registers to hold
a value of MODE. Just ignore them. */
if (! contains_reg_of_mode[cl1][mode])
continue;
COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl1]);
AND_COMPL_HARD_REG_SET (temp_hard_regset, no_unit_alloc_regs);
if (hard_reg_set_empty_p (temp_hard_regset))
......
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