[llvm-commits] [llvm] r52966 - in /llvm/trunk: include/llvm/Target/TargetRegisterInfo.h lib/Target/TargetRegisterInfo.cpp utils/TableGen/RegisterInfoEmitter.cpp
Owen Anderson
resistor at mac.com
Tue Jul 1 10:34:38 PDT 2008
Author: resistor
Date: Tue Jul 1 12:34:38 2008
New Revision: 52966
URL: http://llvm.org/viewvc/llvm-project?rev=52966&view=rev
Log:
Make the subregister hashtable output more readable by wrapping the lines,
and mark it const along with the associated changes to TargetRegisterInfo.
Modified:
llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
llvm/trunk/lib/Target/TargetRegisterInfo.cpp
llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
Modified: llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetRegisterInfo.h?rev=52966&r1=52965&r2=52966&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetRegisterInfo.h (original)
+++ llvm/trunk/include/llvm/Target/TargetRegisterInfo.h Tue Jul 1 12:34:38 2008
@@ -275,8 +275,8 @@
///
class TargetRegisterInfo {
protected:
- unsigned* SubregHash;
- unsigned SubregHashSize;
+ const unsigned* SubregHash;
+ const unsigned SubregHashSize;
public:
typedef const TargetRegisterClass * const * regclass_iterator;
private:
@@ -291,7 +291,9 @@
regclass_iterator RegClassBegin,
regclass_iterator RegClassEnd,
int CallFrameSetupOpcode = -1,
- int CallFrameDestroyOpcode = -1);
+ int CallFrameDestroyOpcode = -1,
+ const unsigned* subregs = 0,
+ const unsigned subregsize = 0);
virtual ~TargetRegisterInfo();
public:
Modified: llvm/trunk/lib/Target/TargetRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetRegisterInfo.cpp?rev=52966&r1=52965&r2=52966&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/TargetRegisterInfo.cpp Tue Jul 1 12:34:38 2008
@@ -22,8 +22,10 @@
TargetRegisterInfo::TargetRegisterInfo(const TargetRegisterDesc *D, unsigned NR,
regclass_iterator RCB, regclass_iterator RCE,
- int CFSO, int CFDO)
- : Desc(D), NumRegs(NR), RegClassBegin(RCB), RegClassEnd(RCE) {
+ int CFSO, int CFDO,
+ const unsigned* subregs, const unsigned subregsize)
+ : Desc(D), NumRegs(NR), RegClassBegin(RCB), RegClassEnd(RCE),
+ SubregHash(subregs), SubregHashSize(subregsize) {
assert(NumRegs < FirstVirtualRegister &&
"Target has too many physical registers!");
Modified: llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp?rev=52966&r1=52965&r2=52966&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp Tue Jul 1 12:34:38 2008
@@ -501,29 +501,34 @@
if (SubregHashTableSize) {
std::string Namespace = Regs[0].TheDef->getValueAsString("Namespace");
- OS << "\n\n unsigned SubregHashTable[] = {";
+ OS << "\n\n const unsigned SubregHashTable[] = { ";
for (unsigned i = 0; i < SubregHashTableSize - 1; ++i) {
+ if (i != 0)
+ // Insert spaces for nice formatting.
+ OS << " ";
+
if (SubregHashTable[2*i] != ~0U) {
OS << getQualifiedName(Regs[SubregHashTable[2*i]].TheDef) << ", "
- << getQualifiedName(Regs[SubregHashTable[2*i+1]].TheDef) << ", ";
+ << getQualifiedName(Regs[SubregHashTable[2*i+1]].TheDef) << ", \n";
} else {
- OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister, ";
+ OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister, \n";
}
}
unsigned Idx = SubregHashTableSize*2-2;
if (SubregHashTable[Idx] != ~0U) {
- OS << getQualifiedName(Regs[SubregHashTable[Idx]].TheDef) << ", "
- << getQualifiedName(Regs[SubregHashTable[Idx+1]].TheDef) << "};\n";
+ OS << " "
+ << getQualifiedName(Regs[SubregHashTable[Idx]].TheDef) << ", "
+ << getQualifiedName(Regs[SubregHashTable[Idx+1]].TheDef) << " };\n";
} else {
- OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister};\n";
+ OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister };\n";
}
- OS << " unsigned SubregHashTableSize = "
+ OS << " const unsigned SubregHashTableSize = "
<< SubregHashTableSize << ";\n";
} else {
- OS << "\n\n unsigned SubregHashTable[] = { ~0U, ~0U };\n"
- << " unsigned SubregHashTableSize = 1;\n";
+ OS << "\n\n const unsigned SubregHashTable[] = { ~0U, ~0U };\n"
+ << " const unsigned SubregHashTableSize = 1;\n";
}
delete [] SubregHashTable;
@@ -672,9 +677,8 @@
<< "(int CallFrameSetupOpcode, int CallFrameDestroyOpcode)\n"
<< " : TargetRegisterInfo(RegisterDescriptors, " << Registers.size()+1
<< ", RegisterClasses, RegisterClasses+" << RegisterClasses.size() <<",\n "
- << " CallFrameSetupOpcode, CallFrameDestroyOpcode) {\n"
- << " this->SubregHash = SubregHashTable;\n"
- << " this->SubregHashSize = SubregHashTableSize;\n"
+ << " CallFrameSetupOpcode, CallFrameDestroyOpcode,\n"
+ << " SubregHashTable, SubregHashTableSize) {\n"
<< "}\n\n";
// Collect all information about dwarf register numbers
More information about the llvm-commits
mailing list