Flags and TSFlags were (thankfully) never used, so remove them. But wait,

not so fast, add some fields for spill slot size and alignment


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15803 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-08-16 01:07:53 +00:00
parent 174f226464
commit 303603f758

View File

@ -33,10 +33,10 @@ class MachineInstr;
/// Registers that this does not apply to simply should set this to null.
///
struct MRegisterDesc {
const char *Name; // Assembly language name for the register
const unsigned *AliasSet; // Register Alias Set, described above
unsigned Flags; // Flags identifying register properties (below)
unsigned TSFlags; // Target Specific Flags
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 {
@ -194,6 +194,18 @@ public:
return get(RegNo).Name;
}
/// getSpillSize - Return the size 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 {