Fix AllocationPriority not getting set for derived register classes.

llvm-svn: 233752
This commit is contained in:
Matthias Braun 2015-03-31 20:52:25 +00:00
parent cb33d6f546
commit d5fa8fb106
1 changed files with 3 additions and 1 deletions

View File

@ -730,7 +730,8 @@ CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank,
SpillSize(Props.SpillSize), SpillSize(Props.SpillSize),
SpillAlignment(Props.SpillAlignment), SpillAlignment(Props.SpillAlignment),
CopyCost(0), CopyCost(0),
Allocatable(true) { Allocatable(true),
AllocationPriority(0) {
for (const auto R : Members) for (const auto R : Members)
TopoSigs.set(R->getTopoSig()); TopoSigs.set(R->getTopoSig());
} }
@ -750,6 +751,7 @@ void CodeGenRegisterClass::inheritProperties(CodeGenRegBank &RegBank) {
CopyCost = Super.CopyCost; CopyCost = Super.CopyCost;
Allocatable = Super.Allocatable; Allocatable = Super.Allocatable;
AltOrderSelect = Super.AltOrderSelect; AltOrderSelect = Super.AltOrderSelect;
AllocationPriority = Super.AllocationPriority;
// Copy all allocation orders, filter out foreign registers from the larger // Copy all allocation orders, filter out foreign registers from the larger
// super-class. // super-class.