[llvm-commits] CVS: llvm/utils/TableGen/AsmWriterEmitter.cpp

Chris Lattner lattner at cs.uiuc.edu
Mon May 1 10:01:29 PDT 2006



Changes in directory llvm/utils/TableGen:

AsmWriterEmitter.cpp updated: 1.27 -> 1.28
---
Log message:

instructions can be in different namespaces.  Make sure to use the right
one for each instruction.


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

 AsmWriterEmitter.cpp |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)


Index: llvm/utils/TableGen/AsmWriterEmitter.cpp
diff -u llvm/utils/TableGen/AsmWriterEmitter.cpp:1.27 llvm/utils/TableGen/AsmWriterEmitter.cpp:1.28
--- llvm/utils/TableGen/AsmWriterEmitter.cpp:1.27	Mon Feb  6 17:40:48 2006
+++ llvm/utils/TableGen/AsmWriterEmitter.cpp	Mon May  1 12:01:17 2006
@@ -287,12 +287,10 @@
     }
   }
 
-  std::string Namespace = FirstInst.CGI->Namespace;
-
-  O << "  case " << Namespace << "::"
+  O << "  case " << FirstInst.CGI->Namespace << "::"
     << FirstInst.CGI->TheDef->getName() << ":\n";
   for (unsigned i = 0, e = SimilarInsts.size(); i != e; ++i)
-    O << "  case " << Namespace << "::"
+    O << "  case " << SimilarInsts[i].CGI->Namespace << "::"
       << SimilarInsts[i].CGI->TheDef->getName() << ":\n";
   for (unsigned i = 0, e = FirstInst.Operands.size(); i != e; ++i) {
     if (i != DifferingOperand) {
@@ -304,13 +302,13 @@
       // emit a switch for just this operand now.
       O << "    switch (MI->getOpcode()) {\n";
       std::vector<std::pair<std::string, AsmWriterOperand> > OpsToPrint;
-      OpsToPrint.push_back(std::make_pair(Namespace+"::"+
+      OpsToPrint.push_back(std::make_pair(FirstInst.CGI->Namespace + "::" +
                                           FirstInst.CGI->TheDef->getName(),
                                           FirstInst.Operands[i]));
 
       for (unsigned si = 0, e = SimilarInsts.size(); si != e; ++si) {
         AsmWriterInst &AWI = SimilarInsts[si];
-        OpsToPrint.push_back(std::make_pair(Namespace+"::"+
+        OpsToPrint.push_back(std::make_pair(AWI.CGI->Namespace+"::"+
                                             AWI.CGI->TheDef->getName(),
                                             AWI.Operands[i]));
       }
@@ -341,8 +339,6 @@
     "bool " << Target.getName() << ClassName
             << "::printInstruction(const MachineInstr *MI) {\n";
 
-  std::string Namespace = Target.inst_begin()->second.Namespace;
-
   std::vector<AsmWriterInst> Instructions;
 
   for (CodeGenTarget::inst_iterator I = Target.inst_begin(),






More information about the llvm-commits mailing list