summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2013-07-26 02:02:47 +0000
committerCraig Topper <craig.topper@gmail.com>2013-07-26 02:02:47 +0000
commit0f7807375a968e2324e3d13f511969b95dba4e93 (patch)
treea3d55fa32ee638014a9dc18f8b05e13f36e3cd3e /llvm
parent778d387684c4cbc22b1f74587b17a34c7cbae307 (diff)
downloadbcm5719-llvm-0f7807375a968e2324e3d13f511969b95dba4e93.tar.gz
bcm5719-llvm-0f7807375a968e2324e3d13f511969b95dba4e93.zip
Take advantage of the register enums being in order to remove a couple static tables.
llvm-svn: 187182
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.cpp22
1 files changed, 4 insertions, 18 deletions
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp
index d22db105389..e5469a55b4e 100644
--- a/llvm/lib/Target/X86/X86RegisterInfo.cpp
+++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp
@@ -354,14 +354,8 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
Reserved.set(X86::GS);
// Mark the floating point stack registers as reserved.
- Reserved.set(X86::ST0);
- Reserved.set(X86::ST1);
- Reserved.set(X86::ST2);
- Reserved.set(X86::ST3);
- Reserved.set(X86::ST4);
- Reserved.set(X86::ST5);
- Reserved.set(X86::ST6);
- Reserved.set(X86::ST7);
+ for (unsigned n = 0; n != 8; ++n)
+ Reserved.set(X86::ST0 + n);
// Reserve the registers that only exist in 64-bit mode.
if (!Is64Bit) {
@@ -374,19 +368,11 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
for (unsigned n = 0; n != 8; ++n) {
// R8, R9, ...
- static const uint16_t GPR64[] = {
- X86::R8, X86::R9, X86::R10, X86::R11,
- X86::R12, X86::R13, X86::R14, X86::R15
- };
- for (MCRegAliasIterator AI(GPR64[n], this, true); AI.isValid(); ++AI)
+ for (MCRegAliasIterator AI(X86::R8 + n, this, true); AI.isValid(); ++AI)
Reserved.set(*AI);
// XMM8, XMM9, ...
- static const uint16_t XMMReg[] = {
- X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11,
- X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15
- };
- for (MCRegAliasIterator AI(XMMReg[n], this, true); AI.isValid(); ++AI)
+ for (MCRegAliasIterator AI(X86::XMM8 + n, this, true); AI.isValid(); ++AI)
Reserved.set(*AI);
}
}
OpenPOWER on IntegriCloud