<div dir="ltr">On Mon, Sep 23, 2013 at 5:42 PM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">testcase?<br></blockquote><div><br></div><div>We don't have any useful testing infrastructure for the cpp backend other than checking it doesn't crash, so it's more effort than I'm willing to put in at the moment...</div>
<div><br></div><div>-Eli</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
On 23 September 2013 20:36, Eli Friedman <<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>> wrote:<br>
> Author: efriedma<br>
> Date: Mon Sep 23 19:36:09 2013<br>
> New Revision: 191258<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=191258&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=191258&view=rev</a><br>
> Log:<br>
> Misc fixes for cpp backend.<br>
><br>
> PR17317.<br>
><br>
> Modified:<br>
>     llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp<br>
><br>
> Modified: llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp?rev=191258&r1=191257&r2=191258&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp?rev=191258&r1=191257&r2=191258&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp (original)<br>
> +++ llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp Mon Sep 23 19:36:09 2013<br>
> @@ -1161,8 +1161,7 @@ void CppWriter::printInstruction(const I<br>
>      break;<br>
>    }<br>
>    case Instruction::Resume: {<br>
> -    Out << "ResumeInst::Create(mod->getContext(), " << opNames[0]<br>
> -        << ", " << bbname << ");";<br>
> +    Out << "ResumeInst::Create(" << opNames[0] << ", " << bbname << ");";<br>
>      break;<br>
>    }<br>
>    case Instruction::Invoke: {<br>
> @@ -1176,7 +1175,7 @@ void CppWriter::printInstruction(const I<br>
>      }<br>
>      // FIXME: This shouldn't use magic numbers -3, -2, and -1.<br>
>      Out << "InvokeInst *" << iName << " = InvokeInst::Create("<br>
> -        << getOpName(inv->getCalledFunction()) << ", "<br>
> +        << getOpName(inv->getCalledValue()) << ", "<br>
>          << getOpName(inv->getNormalDest()) << ", "<br>
>          << getOpName(inv->getUnwindDest()) << ", "<br>
>          << iName << "_params, \"";<br>
> @@ -1590,6 +1589,20 @@ void CppWriter::printInstruction(const I<br>
>      Out << "\");";<br>
>      break;<br>
>    }<br>
> +  case Instruction::LandingPad: {<br>
> +    const LandingPadInst *lpi = cast<LandingPadInst>(I);<br>
> +    Out << "LandingPadInst* " << iName << " = LandingPadInst::Create(";<br>
> +    printCppName(lpi->getType());<br>
> +    Out << ", " << opNames[0] << ", " << lpi->getNumClauses() << ", \"";<br>
> +    printEscapedString(lpi->getName());<br>
> +    Out << "\", " << bbname << ");";<br>
> +    nl(Out) << iName << "->setCleanup("<br>
> +            << (lpi->isCleanup() ? "true" : "false")<br>
> +            << ");";<br>
> +    for (unsigned i = 0, e = lpi->getNumClauses(); i != e; ++i)<br>
> +      nl(Out) << iName << "->addClause(" << opNames[i+1] << ");";<br>
> +    break;<br>
> +  }<br>
>    }<br>
>    DefinedValues.insert(I);<br>
>    nl(Out);<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div></div>