diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-29 20:31:52 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-29 20:31:52 +0000 |
commit | 1937700fa5dce81f6c36c9314786a04f1bc99279 (patch) | |
tree | 32ee499ddd00d0df27a59cdd085b5afab4c6f632 /lib/Target/X86 | |
parent | 80ab2a83805a1005679ba97d308219b460bd6a4d (diff) | |
download | external_llvm-1937700fa5dce81f6c36c9314786a04f1bc99279.zip external_llvm-1937700fa5dce81f6c36c9314786a04f1bc99279.tar.gz external_llvm-1937700fa5dce81f6c36c9314786a04f1bc99279.tar.bz2 |
Give getPointerRegClass() a "kind" value so that targets can
support multiple different pointer register classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77501 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86')
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.cpp | 9 | ||||
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.h | 2 |
2 files changed, 5 insertions, 6 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index bf523dd..e5d563c 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -245,12 +245,11 @@ X86RegisterInfo::getMatchingSuperRegClass(const TargetRegisterClass *A, return 0; } -const TargetRegisterClass *X86RegisterInfo::getPointerRegClass() const { - const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>(); - if (Subtarget->is64Bit()) +const TargetRegisterClass *X86RegisterInfo:: +getPointerRegClass(unsigned Kind) const { + if (TM.getSubtarget<X86Subtarget>().is64Bit()) return &X86::GR64RegClass; - else - return &X86::GR32RegClass; + return &X86::GR32RegClass; } const TargetRegisterClass * diff --git a/lib/Target/X86/X86RegisterInfo.h b/lib/Target/X86/X86RegisterInfo.h index 702e69d..f6c119d 100644 --- a/lib/Target/X86/X86RegisterInfo.h +++ b/lib/Target/X86/X86RegisterInfo.h @@ -102,7 +102,7 @@ public: /// getPointerRegClass - Returns a TargetRegisterClass used for pointer /// values. - const TargetRegisterClass *getPointerRegClass() const; + const TargetRegisterClass *getPointerRegClass(unsigned Kind = 0) const; /// getCrossCopyRegClass - Returns a legal register class to copy a register /// in the specified class to or from. Returns NULL if it is possible to copy |