summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-29 20:31:52 +0000
committerChris Lattner <sabre@nondot.org>2009-07-29 20:31:52 +0000
commitee68a483ec583cded1ac89033f246bdbb5f905ac (patch)
tree723cea35403348537c151136752e9b0bfa38c5c7 /llvm/lib/Target/X86
parent0d98d8b8b30e72f60f1b5182f3325caac6d4fcea (diff)
downloadbcm5719-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.cpp9
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.h2
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
OpenPOWER on IntegriCloud