1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 13:11:39 +01:00

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

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

llvm-svn: 15803
This commit is contained in:
Chris Lattner 2004-08-16 01:07:53 +00:00
parent ffaad65b22
commit 94c82ae3a2

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 {