In generated RegisterInfo files, replace a pointer to the end of an array with just...
authorCraig Topper <craig.topper@gmail.com>
Tue, 21 Feb 2012 06:54:41 +0000 (06:54 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 21 Feb 2012 06:54:41 +0000 (06:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151041 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCRegisterInfo.h
utils/TableGen/RegisterInfoEmitter.cpp

index 2bf754ed9a91e92405edae21eee6b93a8819f129..c4c6ccf9b23ae77403844685287d804d7330fbc0 100644 (file)
@@ -33,7 +33,8 @@ public:
   const unsigned RegSize, Alignment; // Size & Alignment of register in bytes
   const int CopyCost;
   const bool Allocatable;
-  const iterator RegsBegin, RegsEnd;
+  const iterator RegsBegin;
+  unsigned RegsSize;
   const unsigned char *const RegSet;
   const unsigned RegSetSize;
 
@@ -48,11 +49,11 @@ public:
   /// begin/end - Return all of the registers in this class.
   ///
   iterator       begin() const { return RegsBegin; }
-  iterator         end() const { return RegsEnd; }
+  iterator         end() const { return RegsBegin + RegsSize; }
 
   /// getNumRegs - Return the number of registers in this class.
   ///
-  unsigned getNumRegs() const { return (unsigned)(RegsEnd-RegsBegin); }
+  unsigned getNumRegs() const { return RegsSize; }
 
   /// getRegister - Return the specified register in the class.
   ///
index c98a76cde3d05349eaa4af4e0e266c5fecc9492c..7e41a110e73f566e7f6dfa8c31a798ff1e3442a1 100644 (file)
@@ -391,10 +391,8 @@ RegisterInfoEmitter::runMCDesc(raw_ostream &OS, CodeGenTarget &Target,
        << RC.SpillAlignment/8 << ", "
        << RC.CopyCost << ", "
        << RC.Allocatable << ", "
-       << RC.getName() << ", " << RC.getName() << " + "
-       << RC.getOrder().size() << ", "
-       << RC.getName() << "Bits, sizeof(" << RC.getName() << "Bits)"
-       << " },\n";
+       << RC.getName() << ", " << RC.getOrder().size() << ", "
+       << RC.getName() << "Bits, sizeof(" << RC.getName() << "Bits) },\n";
   }
 
   OS << "};\n\n";