trim down the target info structs now that we have a preferred spill register class for each callee save register

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23560 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-09-30 17:35:22 +00:00
parent 8fb040e584
commit 2f02ed9a1f
2 changed files with 2 additions and 31 deletions

View File

@ -36,8 +36,6 @@ class TargetRegisterClass;
struct MRegisterDesc {
const char *Name; // Assembly language name for the register
const unsigned *AliasSet; // Register Alias Set, described above
unsigned char SpillSize; // Size of this register in bytes
unsigned char SpillAlignment; // Alignment of stack slot for this reg
};
class TargetRegisterClass {
@ -189,18 +187,6 @@ public:
return get(RegNo).Name;
}
/// getSpillSize - Return the size in bits required of a stack slot used to
/// spill register into.
unsigned getSpillSize(unsigned RegNo) const {
return get(RegNo).SpillSize;
}
/// getSpillAlignment - Return the alignment required by a stack slot used to
/// spill register into.
unsigned getSpillAlignment(unsigned RegNo) const {
return get(RegNo).SpillAlignment;
}
/// getNumRegs - Return the number of registers this target has
/// (useful for sizing arrays holding per register information)
unsigned getNumRegs() const {

View File

@ -214,24 +214,9 @@ void RegisterInfoEmitter::run(std::ostream &OS) {
OS << Reg.getName();
OS << "\",\t";
if (RegisterAliases.count(Reg.TheDef))
OS << Reg.getName() << "_AliasSet,\t";
OS << Reg.getName() << "_AliasSet },\n";
else
OS << "Empty_AliasSet,\t";
// Figure out what the size and alignment of the spill slots are for this
// reg. This may be explicitly declared in the register, or it may be
// inferred from the register classes it is part of.
std::multimap<Record*, const CodeGenRegisterClass*>::iterator I, E;
tie(I, E) = RegClassesBelongedTo.equal_range(Reg.TheDef);
unsigned SpillSize = Reg.DeclaredSpillSize;
unsigned SpillAlign = Reg.DeclaredSpillAlignment;
for (; I != E; ++I) { // For each reg class this belongs to.
const CodeGenRegisterClass *RC = I->second;
SpillSize = std::max(SpillSize, RC->SpillSize);
SpillAlign = std::max(SpillAlign, RC->SpillAlignment);
}
OS << SpillSize << ", " << SpillAlign << " },\n";
OS << "Empty_AliasSet },\n";
}
OS << " };\n"; // End of register descriptors...
OS << "}\n\n"; // End of anonymous namespace...