[llvm] r187182 - Take advantage of the register enums being in order to remove a couple static tables.

Craig Topper craig.topper at gmail.com
Thu Jul 25 19:02:47 PDT 2013


Author: ctopper
Date: Thu Jul 25 21:02:47 2013
New Revision: 187182

URL: http://llvm.org/viewvc/llvm-project?rev=187182&view=rev
Log:
Take advantage of the register enums being in order to remove a couple static tables.

Modified:
    llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp

Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=187182&r1=187181&r2=187182&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Thu Jul 25 21:02:47 2013
@@ -354,14 +354,8 @@ BitVector X86RegisterInfo::getReservedRe
   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::getReservedRe
 
     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);
     }
   }





More information about the llvm-commits mailing list