Misc fixes for cpp backend.

PR17317.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191258 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Friedman 2013-09-24 00:36:09 +00:00
parent 3d2c90f6dd
commit 17f013265f

View File

@ -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);