diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-01 17:01:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-01 17:01:17 +0000 |
commit | a1e8a80b96d02c8667021049e7fba9050658f39b (patch) | |
tree | 4b1da6521c99f992869cd91aaa95b604407b2c99 | |
parent | de321a801438f444a42066ca70567440bf2a86c7 (diff) |
instructions can be in different namespaces. Make sure to use the right
one for each instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28038 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | utils/TableGen/AsmWriterEmitter.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index ad3ffa5810..ab595ca9fb 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -287,12 +287,10 @@ static void EmitInstructions(std::vector<AsmWriterInst> &Insts, } } - 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 @@ static void EmitInstructions(std::vector<AsmWriterInst> &Insts, // 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 @@ void AsmWriterEmitter::run(std::ostream &O) { "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(), |