In generated RegisterInfo files, replace a pointer to the end of an array with just the size of the array to avoid relocations.

llvm-svn: 151041
This commit is contained in:
Craig Topper 2012-02-21 06:54:41 +00:00
parent 9a511519e4
commit da991549c0
2 changed files with 6 additions and 7 deletions

View 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.
///

View 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";