re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)

2011-05-26  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/49154
	* ira.c (setup_pressure_classes): Process class without sublcasses
	as a candidate for pressure classes.

From-SVN: r174309
This commit is contained in:
Vladimir Makarov 2011-05-26 21:01:57 +00:00 committed by Vladimir Makarov
parent 1eb2a14d16
commit 574e418a27
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2011-05-26 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/49154
* ira.c (setup_pressure_classes): Process class without sublcasses
as a candidate for pressure classes.
2011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
PR rtl-optimization/48575

View File

@ -799,7 +799,12 @@ setup_pressure_classes (void)
{
if (ira_available_class_regs[cl] == 0)
continue;
if (ira_available_class_regs[cl] != 1)
if (ira_available_class_regs[cl] != 1
/* A register class without subclasses may contain a few
hard registers and movement between them is costly
(e.g. SPARC FPCC registers). We still should consider it
as a candidate for a pressure class. */
&& alloc_reg_class_subclasses[cl][0] != LIM_REG_CLASSES)
{
/* Check that the moves between any hard registers of the
current class are not more expensive for a legal mode