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 | ee68a483ec583cded1ac89033f246bdbb5f905ac (patch) | |
tree | 723cea35403348537c151136752e9b0bfa38c5c7 /llvm/lib/Target/X86 | |
parent | 0d98d8b8b30e72f60f1b5182f3325caac6d4fcea (diff) | |
download | bcm5719-llvm-ee68a483ec583cded1ac89033f246bdbb5f905ac.tar.gz bcm5719-llvm-ee68a483ec583cded1ac89033f246bdbb5f905ac.zip |
Give getPointerRegClass() a "kind" value so that targets can
support multiple different pointer register classes.
llvm-svn: 77501
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.cpp | 9 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.h | 2 |
2 files changed, 5 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp index bf523dde880..e5d563c9ad5 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.cpp +++ b/llvm/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/llvm/lib/Target/X86/X86RegisterInfo.h b/llvm/lib/Target/X86/X86RegisterInfo.h index 702e69dee26..f6c119d18a6 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.h +++ b/llvm/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 |