[llvm-commits] CVS: llvm/utils/TableGen/CodeGenRegisters.h CodeGenTarget.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri Aug 19 11:45:31 PDT 2005



Changes in directory llvm/utils/TableGen:

CodeGenRegisters.h updated: 1.5 -> 1.6
CodeGenTarget.cpp updated: 1.30 -> 1.31
---
Log message:

Read the namespace field from register classes


---
Diffs of the changes:  (+8 -0)

 CodeGenRegisters.h |    1 +
 CodeGenTarget.cpp  |    7 +++++++
 2 files changed, 8 insertions(+)


Index: llvm/utils/TableGen/CodeGenRegisters.h
diff -u llvm/utils/TableGen/CodeGenRegisters.h:1.5 llvm/utils/TableGen/CodeGenRegisters.h:1.6
--- llvm/utils/TableGen/CodeGenRegisters.h:1.5	Thu Apr 21 19:00:35 2005
+++ llvm/utils/TableGen/CodeGenRegisters.h	Fri Aug 19 13:45:20 2005
@@ -32,6 +32,7 @@
 
   struct CodeGenRegisterClass {
     Record *TheDef;
+    std::string Namespace;
     std::vector<Record*> Elements;
     unsigned SpillSize;
     unsigned SpillAlignment;


Index: llvm/utils/TableGen/CodeGenTarget.cpp
diff -u llvm/utils/TableGen/CodeGenTarget.cpp:1.30 llvm/utils/TableGen/CodeGenTarget.cpp:1.31
--- llvm/utils/TableGen/CodeGenTarget.cpp:1.30	Fri Aug 19 01:16:04 2005
+++ llvm/utils/TableGen/CodeGenTarget.cpp	Fri Aug 19 13:45:20 2005
@@ -143,6 +143,13 @@
 }
 
 CodeGenRegisterClass::CodeGenRegisterClass(Record *R) : TheDef(R) {
+  // Rename anonymous register classes.
+  if (R->getName().size() > 9 && R->getName()[9] == '.') {
+    static unsigned AnonCounter = 0;
+    R->setName("AnonRegClass_"+utostr(AnonCounter++));
+  } 
+  
+  Namespace = R->getValueAsString("Namespace");
   SpillSize = R->getValueAsInt("Size");
   SpillAlignment = R->getValueAsInt("Alignment");
 






More information about the llvm-commits mailing list