Possible IRA bug in assign_hard_reg

Ian Bolton bolton@IceraSemi.com
Thu Jan 21 18:22:00 GMT 2010


Near the end of assign_hard_reg in ira-color.c, there is this code:


if (min_full_cost > mem_cost)
  {
    if (! retry_p && internal_flag_ira_verbose > 3 && ira_dump_file !=
NULL)
	fprintf (ira_dump_file, "(memory is more profitable %d vs %d) ",
		 mem_cost, min_full_cost);
    best_hard_regno = -1;
  }


If retry_p is true then we are in reload, so I wouldn't expect us to
override best_hard_regno in this case.  I think the code should read:


if (min_full_cost > mem_cost && ! retry_p)
  {
    if (internal_flag_ira_verbose > 3 && ira_dump_file != NULL)
	fprintf (ira_dump_file, "(memory is more profitable %d vs %d) ",
		 mem_cost, min_full_cost);
    best_hard_regno = -1;
  }


I'm probably wrong, but I wanted to check.

Cheers,
Ian



More information about the Gcc mailing list