diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-09-24 00:36:09 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-09-24 00:36:09 +0000 |
commit | 410393a15d57b3d13aaa43a05f85790de1f369b4 (patch) | |
tree | d78df58a50e8261199230fbc37b80d9b665886f9 /llvm/lib/Target/CppBackend/CPPBackend.cpp | |
parent | 55364d71d07fa6b73c8a37a4b8078716ff980596 (diff) | |
download | bcm5719-llvm-410393a15d57b3d13aaa43a05f85790de1f369b4.tar.gz bcm5719-llvm-410393a15d57b3d13aaa43a05f85790de1f369b4.zip |
Misc fixes for cpp backend.
PR17317.
llvm-svn: 191258
Diffstat (limited to 'llvm/lib/Target/CppBackend/CPPBackend.cpp')
-rw-r--r-- | llvm/lib/Target/CppBackend/CPPBackend.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/llvm/lib/Target/CppBackend/CPPBackend.cpp b/llvm/lib/Target/CppBackend/CPPBackend.cpp index 6f27af45a14..0eb15d3f358 100644 --- a/llvm/lib/Target/CppBackend/CPPBackend.cpp +++ b/llvm/lib/Target/CppBackend/CPPBackend.cpp @@ -1161,8 +1161,7 @@ void CppWriter::printInstruction(const Instruction *I, break; } case Instruction::Resume: { - Out << "ResumeInst::Create(mod->getContext(), " << opNames[0] - << ", " << bbname << ");"; + Out << "ResumeInst::Create(" << opNames[0] << ", " << bbname << ");"; break; } case Instruction::Invoke: { @@ -1176,7 +1175,7 @@ void CppWriter::printInstruction(const Instruction *I, } // FIXME: This shouldn't use magic numbers -3, -2, and -1. Out << "InvokeInst *" << iName << " = InvokeInst::Create(" - << getOpName(inv->getCalledFunction()) << ", " + << getOpName(inv->getCalledValue()) << ", " << getOpName(inv->getNormalDest()) << ", " << getOpName(inv->getUnwindDest()) << ", " << iName << "_params, \""; @@ -1590,6 +1589,20 @@ void CppWriter::printInstruction(const Instruction *I, Out << "\");"; break; } + case Instruction::LandingPad: { + const LandingPadInst *lpi = cast<LandingPadInst>(I); + Out << "LandingPadInst* " << iName << " = LandingPadInst::Create("; + printCppName(lpi->getType()); + Out << ", " << opNames[0] << ", " << lpi->getNumClauses() << ", \""; + printEscapedString(lpi->getName()); + Out << "\", " << bbname << ");"; + nl(Out) << iName << "->setCleanup(" + << (lpi->isCleanup() ? "true" : "false") + << ");"; + for (unsigned i = 0, e = lpi->getNumClauses(); i != e; ++i) + nl(Out) << iName << "->addClause(" << opNames[i+1] << ");"; + break; + } } DefinedValues.insert(I); nl(Out); |