[llvm-commits] CVS: llvm/include/llvm/Target/MRegisterInfo.h
Evan Cheng
evan.cheng at apple.com
Fri Apr 20 17:54:23 PDT 2007
Changes in directory llvm/include/llvm/Target:
MRegisterInfo.h updated: 1.105 -> 1.106
---
Log message:
Add super-register set.
---
Diffs of the changes: (+13 -1)
MRegisterInfo.h | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletion(-)
Index: llvm/include/llvm/Target/MRegisterInfo.h
diff -u llvm/include/llvm/Target/MRegisterInfo.h:1.105 llvm/include/llvm/Target/MRegisterInfo.h:1.106
--- llvm/include/llvm/Target/MRegisterInfo.h:1.105 Fri Apr 20 16:28:05 2007
+++ llvm/include/llvm/Target/MRegisterInfo.h Fri Apr 20 19:54:06 2007
@@ -40,11 +40,15 @@
/// Registers that this does not apply to simply should set this to null.
/// The SubRegs field is a zero terminated array of registers that are
/// sub-registers of the specific register, e.g. AL, AH are sub-registers of AX.
+/// The SuperRegs field is a zero terminated array of registers that are
+/// super-registers of the specific register, e.g. RAX, EAX, are sub-registers
+/// of AX.
///
struct TargetRegisterDesc {
const char *Name; // Assembly language name for the register
const unsigned *AliasSet; // Register Alias Set, described above
const unsigned *SubRegs; // Sub-register set, described above
+ const unsigned *SuperRegs; // Super-register set, described above
};
class TargetRegisterClass {
@@ -271,13 +275,21 @@
}
/// getSubRegisters - Return the set of registers that are sub-registers of
- // the specified register, or a null list of there are none. The list
+ /// the specified register, or a null list of there are none. The list
/// returned is zero terminated.
///
const unsigned *getSubRegisters(unsigned RegNo) const {
return get(RegNo).SubRegs;
}
+ /// getSuperRegisters - Return the set of registers that are super-registers
+ /// of the specified register, or a null list of there are none. The list
+ /// returned is zero terminated.
+ ///
+ const unsigned *getSuperRegisters(unsigned RegNo) const {
+ return get(RegNo).SuperRegs;
+ }
+
/// getName - Return the symbolic target specific name for the specified
/// physical register.
const char *getName(unsigned RegNo) const {
More information about the llvm-commits
mailing list